<SEC-DOCUMENT>0000352825-25-000134.txt : 20251103
<SEC-HEADER>0000352825-25-000134.hdr.sgml : 20251103
<ACCEPTANCE-DATETIME>20251103154048
ACCESSION NUMBER:		0000352825-25-000134
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		78
CONFORMED PERIOD OF REPORT:	20250930
FILED AS OF DATE:		20251103
DATE AS OF CHANGE:		20251103

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FOSTER L B CO
		CENTRAL INDEX KEY:			0000352825
		STANDARD INDUSTRIAL CLASSIFICATION:	WHOLESALE-METALS SERVICE CENTERS & OFFICES [5051]
		ORGANIZATION NAME:           	07 Trade & Services
		EIN:				251324733
		STATE OF INCORPORATION:			PA
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-10436
		FILM NUMBER:		251443821

	BUSINESS ADDRESS:	
		STREET 1:		415 HOLIDAY DR
		CITY:			PITTSBURGH
		STATE:			PA
		ZIP:			15220
		BUSINESS PHONE:		4129283431

	MAIL ADDRESS:	
		STREET 1:		415 HOLIDAY DR
		CITY:			PITTSBURGH
		STATE:			PA
		ZIP:			15220
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>fstr-20250930.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2025 Workiva-->
<!--r:7d5ac89a-83a2-47ec-b376-138d8c6e27e5,g:618b3232-2c41-4f96-88c5-426a8015ae6c,d:317efcfcfa2247feb83b02c33a05c800-->
<html xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://fasb.org/us-gaap/2025" xmlns:ecd="http://xbrl.sec.gov/ecd/2025" xmlns:fstr="http://www.lbfoster.com/20250930" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:dei="http://xbrl.sec.gov/dei/2025" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:srt="http://fasb.org/srt/2025" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:country="http://xbrl.sec.gov/country/2025" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>fstr-20250930</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" format="ixt:fixed-false" 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">Q3</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-29">0000352825</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:CurrentFiscalYearEndDate" id="f-30">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="c-179" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="f-750">1</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="fstr-20250930.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="segment"><xbrli:measure>fstr:segment</xbrli:measure></xbrli:unit><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="covenant"><xbrli:measure>fstr:covenant</xbrli:measure></xbrli:unit><xbrli:unit id="plan"><xbrli:measure>fstr:plan</xbrli:measure></xbrli:unit><xbrli:unit id="company"><xbrli:measure>fstr:company</xbrli:measure></xbrli:unit><xbrli:unit id="party"><xbrli:measure>fstr:party</xbrli:measure></xbrli:unit><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-10-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-12"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-13"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-15"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-17"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-19"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-21"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-23"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-36"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-37"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-39"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-41"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-45"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-54"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-55"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-57"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-58"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-59"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-61"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-63"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-73"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-77"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-81"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-85"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-90"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-91"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-96"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-97"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</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">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-102"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-103"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-104"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fstr:SkratchEnterprisesLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-105"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fstr:SkratchEnterprisesLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-21</xbrli:startDate><xbrli:endDate>2022-06-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-106"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fstr:SkratchEnterprisesLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-108"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-109"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-111"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-112"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-113"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-114"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">fstr:August2024RestructuringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-119"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-121"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-122"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-123"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-124"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-126"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-127"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-128"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-129"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-130"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-133"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-134"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-135"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-136"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-137"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-138"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-139"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-140"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-141"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-142"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-143"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-144"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-145"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-146"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-147"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-148"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-149"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-150"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-151"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-152"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-153"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-154"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-155"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-156"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-157"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-158"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-159"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-160"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-161"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-162"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-163"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-164"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-165"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-166"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-167"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-168"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-169"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-170"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-171"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-172"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-173"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-174"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-175"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-176"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-177"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-178"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-179"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-10-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-180"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-181"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-182"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-183"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-184"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-185"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-186"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-187"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-188"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-189"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-190"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-191"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-192"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-193"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-194"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-195"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-196"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><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-197"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-198"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-199"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-200"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-202"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-204"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-205"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-206"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-207"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-208"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-209"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-210"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-211"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-212"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">fstr:SwingLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-213"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">fstr:IncrementalLoansMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-214"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fstr:OvernightBankFundingRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fstr:DailySimpleSOFRMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-216"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-218"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-219"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-06-27</xbrli:startDate><xbrli:endDate>2025-06-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-221"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-222"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-223"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-226"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-227"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-229"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-230"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-232"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-233"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</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-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-234"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-235"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-236"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-237"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-238"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-08-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-239"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">fstr:Swap2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-240"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-241"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-242"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-243"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-244"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-245"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-246"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-247"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-248"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-249"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-250"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-251"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-252"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-253"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-254"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-255"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-256"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-257"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-258"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-259"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-07-01</xbrli:startDate><xbrli:endDate>2025-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-260"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-07-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-261"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-262"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-13</xbrli:startDate><xbrli:endDate>2019-03-13</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-263"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2017-06-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-264"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-03-26</xbrli:instant></xbrli:period></xbrli:context><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="f-213 f-214 f-215 f-216" linkRole="http://www.xbrl.org/2003/role/link" toRefs="fn-1" order="1"/></ix:resources></ix:header></div><div id="i317efcfcfa2247feb83b02c33a05c800_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:18pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:18pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:12pt;font-weight:700;line-height:120%">Washington, DC 20549</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:18pt;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="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">(Mark One)</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:4.455%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:93.345%"/><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:'Times New Roman',serif;font-size:10pt;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:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Quarterly Report Pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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">September 30, 2025</ix:nonNumeric></span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Or</span><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:4.455%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:93.345%"/><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:'Times New Roman',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:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Transition Report Pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">for the transition period from </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%"> to </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Commission File Number: <ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-5">000-10436</ix:nonNumeric></span><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: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:42pt"><td colspan="15" style="border-top:1pt solid #000000;padding:0 1pt;vertical-align:bottom"><div style="text-align:center"><img src="fstr-20250930_g1.gif" alt="LBF-corporate-logo_linear-colour_crop.gif" style="height:48px;margin-bottom:5pt;vertical-align:text-bottom;width:240px" id="i-1"/></div></td></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:24pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-6">L.B. Foster Company</ix:nonNumeric></span></td></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(Exact name of registrant as specified in its charter)</span></td></tr><tr style="height:9pt"><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"/></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:45.787%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.783%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:44.130%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-7">Pennsylvania</ix:nonNumeric></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-8">25-1324733</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(State or other jurisdiction of incorporation or organization)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(I. R. S. Employer Identification No.)</span></div></td></tr></table></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:45.983%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.816%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:43.901%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-9">415 Holiday Drive</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine2" id="f-10">Suite 100</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-11">Pittsburgh</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="f-12">Pennsylvania</ix:nonNumeric></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-13">15220</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(Address of principal executive offices)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(Zip Code)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-14">412</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-15">928-3400</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%">(Registrant&#8217;s telephone number, including area code)</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:35.438%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.349%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:24.586%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.349%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:35.578%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Securities registered pursuant to Section 12(b) of the Act:</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;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:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Trading Symbol(s)</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:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-16">Common Stock, par value $0.01</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-17">FSTR</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-18">Nasdaq Global Select Market</ix:nonNumeric></span></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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;<ix:nonNumeric contextRef="c-1" name="dei:EntityCurrentReportingStatus" id="f-19">Yes</ix:nonNumeric> &#9746;&#160;&#160; No&#160;&#9744;</span></div><div style="margin-top:2pt;text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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 (section 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;<ix:nonNumeric contextRef="c-1" name="dei:EntityInteractiveDataCurrent" id="f-20">Yes</ix:nonNumeric> &#9746;&#160; &#160;&#160;No&#160;&#9744;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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 &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span></div><div style="margin-top:9pt;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:25.844%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:31.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.011%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:22.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Large&#160;accelerated&#160;filer &#9744;</span></div></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:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:2pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="f-21">Accelerated filer</ix:nonNumeric>                  &#9746; </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Non-accelerated filer   &#9744;</span></div></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:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:2pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company <ix:nonNumeric contextRef="c-1" name="dei:EntitySmallBusiness" format="ixt:fixed-true" id="f-22">&#9746;</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Emerging&#160;growth&#160;company <ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt:fixed-false" id="f-23">&#9744;</ix:nonNumeric></span></div></td></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.&#160;&#160;&#9744;</span></div><div style="margin-top:2pt;text-align:justify"><span><br/></span></div><div style="margin-top:2pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;&#160;&#160;&#160;Yes&#160;&#160;&#9744;&#160;&#160;&#160;&#160;No&#160;</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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:2pt;text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of October&#160;28, 2025, there were <ix:nonFraction unitRef="shares" contextRef="c-2" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-25">10,393,009</ix:nonFraction> shares of the registrant&#8217;s common stock, par value $0.01 per share, outstanding.</span></div><div style="text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span><br/></span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_7"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">INDEX</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><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:83.066%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.734%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_10">PART I. Financial Information</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-18pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_13">Item 1. Financial Statements:</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt;padding-right:54pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_16">Condensed Consolidated Balance Sheets</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_16">3</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt;padding-right:-90pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_19">Condensed Consolidated Statements of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_19">4</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt;padding-right:-126pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_22">Condensed Consolidated Statements of Comprehensive Income </a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_22">5</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt;padding-right:-162pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_25">Condensed Consolidated Statements of Cash Flows</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_25">6</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_28">Condensed Consolidated Statements of Stockholders&#8217; Equity</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_28">7</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt;padding-right:-198pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_34">Notes to Condensed Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_34">9</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-216pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_82">Item 2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_82">22</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-234pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_100">Item 3. Quantitative and Qualitative Disclosures about Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_100">31</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-252pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_103">Item 4. Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_103">31</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-right:-252pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_106">PART II. Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_106">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-270pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_109">Item 1. Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_109">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-288pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_112">Item 1A. Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_112">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-306pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_115">Item 2. 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:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_115">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_118">Item 3. Defaults Upon Senior Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_118">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-324pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_121">Item 4. Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_121">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_124">Item 5. Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_124">32</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-342pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_127">Item 6. Exhibits</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_127">33</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;padding-right:-360pt"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_130">Signature</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_130">34</a></span></div></td></tr></table></div><div style="margin-bottom:17pt;margin-top:17pt;text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_10"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Part I. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">FINANCIAL INFORMATION</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_13"></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%"> Item&#160;1. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Financial Statements</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_16"></div><div style="margin-top:6pt;text-align:center;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands, except share data)</span><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:75.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-31">3,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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-32">2,454</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable - net (Note 5)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccountsNotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-33">64,429</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsNotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-34">64,978</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets - net (Note 3)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-35">7,943</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-36">16,720</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories - net (Note 6)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-37">69,563</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-38">70,506</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other current assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-39">8,159</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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-40">6,947</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Total current assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-41">153,522</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:'Times New Roman',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-42">161,605</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment - net</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-43">76,940</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-44">75,374</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets - net</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-45">30,109</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-46">18,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"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill (Note 4)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-47">32,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-48">31,907</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other intangibles - net (Note 4)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-49">12,178</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-50">14,801</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets (Note 9)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-51">23,982</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-52">28,900</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-53">4,166</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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-54">3,483</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">TOTAL ASSETS</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-55">333,889</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-56">334,550</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-57">37,736</ix:nonFraction>&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',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-58">50,083</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue (Note 3)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-59">9,059</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-60">10,205</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll and employee benefits</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-61">9,158</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-62">15,393</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Current maturities of long-term debt (Note 7)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="f-63">167</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="f-64">167</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-65">13,414</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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-66">12,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Total current liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-67">69,534</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:'Times New Roman',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-68">88,296</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt (Note 7)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="f-69">58,555</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="f-70">46,773</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities (Note 9)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-71">1,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:'Times New Roman',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-72">1,150</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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Long-term operating lease liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-73">25,705</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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-74">14,709</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-75">3,441</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-76">4,608</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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',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"/><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><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Common stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" format="ixt:num-dot-decimal" scale="0" id="f-77"><ix:nonFraction unitRef="usdPerShare" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" format="ixt:num-dot-decimal" scale="0" id="f-78">0.01</ix:nonFraction></ix:nonFraction>, authorized <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-79"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-80">20,000,000</ix:nonFraction></ix:nonFraction> shares; shares issued at September&#160;30, 2025 and December&#160;31, 2024, <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-81"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-82">11,115,779</ix:nonFraction></ix:nonFraction>; shares outstanding at September&#160;30, 2025 and December&#160;31, 2024, <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-83">10,247,806</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-84">10,573,432</ix:nonFraction>, respectively</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-85">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-86">111</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Paid-in capital</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-87">43,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:'Times New Roman',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-88">43,550</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Retained earnings</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-89">172,708</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-90">167,579</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock - at cost, <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="0" id="f-91">867,973</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="0" id="f-92">542,347</ix:nonFraction> common stock shares at September&#160;30, 2025 and December&#160;31, 2024, respectively</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:TreasuryStockCommonValue" format="ixt:num-dot-decimal" scale="3" id="f-93">20,803</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:TreasuryStockCommonValue" format="ixt:num-dot-decimal" scale="3" id="f-94">11,208</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-95">20,715</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-96">21,716</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Total L.B. Foster Company stockholders&#8217; equity</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-97">174,801</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:'Times New Roman',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-98">178,316</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Noncontrolling interest</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:MinorityInterest" scale="3" id="f-99">793</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MinorityInterest" scale="3" id="f-100">698</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Total stockholders&#8217; equity</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-101">175,594</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-102">179,014</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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-103">333,889</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:'Times New Roman',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:'Times New Roman',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-104">334,550</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><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_19"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Unaudited)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands, except per share data)</span><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:54.790%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.323%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.371%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.323%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.371%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.323%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.371%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.454%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.374%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Sales of goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-105">124,830</ix:nonFraction>&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-106">119,322</ix:nonFraction>&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-107">340,449</ix:nonFraction>&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-108">346,202</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Sales of services</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-109">13,456</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-110">18,144</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-111">39,187</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-112">56,380</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-113">138,286</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-114">137,466</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-115">379,636</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-116">402,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: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of goods sold</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-117">93,915</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-118">89,286</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-119">259,472</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-120">264,543</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of services sold</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-121">13,305</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-122">15,422</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-123">38,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-124">48,592</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total cost of sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-125">107,220</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-126">104,708</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:'Times New Roman',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-127">297,519</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-128">313,135</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-129">31,066</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-130">32,758</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:'Times New Roman',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-131">82,117</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-132">89,447</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative expenses</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-133">22,077</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-134">24,289</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:'Times New Roman',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-135">65,411</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-136">71,977</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(Gain) on sale of former joint venture facility</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="f-137">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="f-138">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="f-139">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:num-dot-decimal" scale="3" id="f-140">3,477</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="f-141">694</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-142">1,146</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-143">2,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-144">3,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-145">8,295</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-146">7,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: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:'Times New Roman',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-147">14,050</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-148">17,461</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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - net</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-149">1,254</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-150">1,358</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-151">3,887</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-152">3,976</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other income - net</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-153">96</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-154">188</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-155">509</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-156">525</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-157">7,137</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-158">6,153</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:'Times New Roman',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-159">10,672</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-160">14,010</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-161">2,812</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-162">29,745</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:'Times New Roman',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-163">5,625</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-164">29,110</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-165">4,325</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-166">35,898</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-167">5,047</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-168">43,120</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to noncontrolling interest</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-169">29</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-170">7</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-171">82</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-172">68</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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-173">4,354</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-174">35,905</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-175">5,129</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-176">43,188</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Per share data attributable to L.B. Foster shareholders:</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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-13" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-177">0.42</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-14" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-178">3.35</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-179">0.49</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-15" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-180">4.01</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per common share</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-13" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-181">0.40</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-14" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-182">3.27</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-183">0.47</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-15" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-184">3.91</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"/></tr><tr style="height:15pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted average shares outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-185">10,356</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-186">10,718</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-187">10,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-188">10,757</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted weighted average shares outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-189">10,880</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-190">10,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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-191">10,923</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-192">11,059</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="text-align:justify"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_22"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Unaudited)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span><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:54.455%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.453%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.357%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.453%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.357%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.453%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.357%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.453%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.362%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-193">4,325</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-194">35,898</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-195">5,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-196">43,120</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income, net of tax:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-197">513</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-198">1,376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-199">1,529</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-200">590</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized loss on cash flow hedges, net of tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" scale="3" id="f-201"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" scale="3" id="f-202"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" scale="3" id="f-203"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" scale="3" id="f-204">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-205">44</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-206">698</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-207">351</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-208">778</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Reclassification of pension liability adjustments to earnings, net of tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-209">0</ix:nonFraction>, $<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-210">5</ix:nonFraction>, $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-211">0</ix:nonFraction>, and $<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-212">12</ix:nonFraction>, respectively*</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" format="ixt:fixed-zero" scale="3" id="f-213">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" scale="3" id="f-214">24</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" format="ixt:fixed-zero" scale="3" id="f-215">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" scale="3" id="f-216">75</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total comprehensive income</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-217">3,768</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-218">36,600</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-219">6,225</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-220">41,827</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less comprehensive loss attributable to noncontrolling interest:</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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to noncontrolling interest</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-221">29</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-222">7</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-223">82</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="f-224">68</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" scale="3" id="f-225">23</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" scale="3" id="f-226">18</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" scale="3" id="f-227">177</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" scale="3" id="f-228">71</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amounts attributable to noncontrolling interest</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="f-229">6</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="f-230">11</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="f-231">95</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="f-232">139</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Comprehensive income attributable to L.B. Foster Company</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-233">3,774</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-234">36,589</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:'Times New Roman',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:'Times New Roman',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-235">6,130</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-236">41,966</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><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.722%"><tr><td style="width:1.0%"/><td style="width:2.712%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:95.088%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><ix:footnote id="fn-1" footnoteRole="http://www.xbrl.org/2003/role/footnote"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reclassifications out of &#8220;Accumulated other comprehensive loss&#8221; for pension obligations are charged to &#8220;Selling and administrative expenses&#8221; within the Condensed Consolidated Statements of Operations.</span></ix:footnote></td></tr></table></div><div style="margin-top:9pt;text-align:center"><span><br/></span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_25"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Unaudited)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span><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:75.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(Unaudited)</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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">CASH FLOWS FROM OPERATING ACTIVITIES:</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;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-237">5,047</ix:nonFraction>&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-238">43,120</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to reconcile net income to cash used in operating activities:</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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Deferred income taxes</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-239">4,828</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-240">30,122</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="f-241">6,846</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="f-242">7,076</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-243">2,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-244">3,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventory and fixed asset exit costs (Note 2) </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-245">655</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-246">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Equity in income of nonconsolidated investments</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="fstr:EquityLossIncomeAndRemeasurementGain" scale="3" id="f-247">69</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="fstr:EquityLossIncomeAndRemeasurementGain" scale="3" id="f-248">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gain on sales and disposals of property, plant, and equipment</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GainLossOnDispositionOfAssets" format="ixt:fixed-zero" scale="3" id="f-249">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:GainLossOnDispositionOfAssets" format="ixt:num-dot-decimal" scale="3" id="f-250">4,437</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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:'Times New Roman',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-251">3,417</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-252">3,135</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Change in operating assets and 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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables" format="ixt:num-dot-decimal" scale="3" id="f-253">1,333</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables" format="ixt:num-dot-decimal" scale="3" id="f-254">12,976</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" format="ixt:num-dot-decimal" scale="3" id="f-255">9,522</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" format="ixt:num-dot-decimal" scale="3" id="f-256">9,910</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="f-257">815</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="f-258">465</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other current assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-259">1,343</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-260">2,020</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-261">3,640</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-262">2,517</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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-263">12,201</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="f-264">603</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-265">1,327</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-266">2,861</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll and employee benefits</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-267">6,327</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-268">5,747</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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accrued settlement</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fstr:IncreaseDecreaseInAccruedSettlement" format="ixt:fixed-zero" scale="3" id="f-269">&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="fstr:IncreaseDecreaseInAccruedSettlement" format="ixt:num-dot-decimal" scale="3" id="f-270">4,000</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" id="f-271">510</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-272">5,848</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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-273">4,555</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-274">3,030</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by (used in) operating activities</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:'Times New Roman',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-275">13,447</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-276">1,653</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="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">CASH FLOWS FROM INVESTING ACTIVITIES:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the sale of property, plant, and equipment</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="f-277">53</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-278">3,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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Capital expenditures on property, plant, and equipment</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:'Times New Roman',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-279">8,057</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-280">7,834</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"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in investing activities</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:'Times New Roman',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-281">8,004</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-282">3,953</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="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">CASH FLOWS FROM FINANCING ACTIVITIES:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Repayments of debt</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RepaymentsOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-283">202,405</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:RepaymentsOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-284">166,005</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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from debt</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-285">212,368</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-286">178,167</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Debt issuance costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="f-287">706</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" format="ixt:fixed-zero" scale="3" id="f-288">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock acquisitions</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:'Times New Roman',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-289">13,103</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-290">5,742</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Deferred payment for Skratch acquisition</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="f-291">782</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" format="ixt:fixed-zero" scale="3" id="f-292">&#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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities</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:'Times New Roman',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-293">4,628</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-294">6,420</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Effect of exchange rate changes on cash and cash equivalents</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="f-295">159</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="f-296">239</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net increase in cash and cash equivalents</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="f-297">974</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="f-298">575</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at beginning of period</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:'Times New Roman',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-299">2,454</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-300">2,560</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at end of period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-301">3,428</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-302">3,135</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Supplemental disclosure of cash flow information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest paid</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-303">3,722</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-304">3,632</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income taxes paid</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-305">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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 style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-306">1,596</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-307">14,988</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:fixed-zero" scale="3" id="f-308">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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"/></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_28"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Unaudited) </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Dollars 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.583%"><tr><td style="width:1.0%"/><td style="width:19.820%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.647%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Common<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Paid-in<br/>Capital</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Retained<br/>Earnings</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Treasury<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated Other<br/>Comprehensive Loss</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Noncontrolling<br/>Interest</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total Stockholders&#8217;<br/>Equity</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, June 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-309">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: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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-310">42,325</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-311">168,354</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-312">16,213</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-313">20,135</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-23" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-314">799</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-315">175,241</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></div></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-316">4,354</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" sign="-" name="us-gaap:ProfitLoss" scale="3" id="f-317">29</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-318">4,325</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss, net of tax:</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="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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-319">536</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-320">23</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-321">513</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized derivative loss on cash flow hedges</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-322">44</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-323">44</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchase of <ix:nonFraction unitRef="shares" contextRef="c-13" decimals="0" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="f-324">184,143</ix:nonFraction> common shares for treasury</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-325">4,720</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-326">4,720</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of <ix:nonFraction unitRef="shares" contextRef="c-13" decimals="0" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="f-327">1,315</ix:nonFraction> common shares, net of shares withheld for taxes</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-29" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="f-328">131</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="f-329">130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="f-330">1</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-29" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-331">1,306</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-332">1,306</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, September 30, 2025</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-333">111</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-334">43,500</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-335">172,708</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-336">20,803</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-337">20,715</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-338">793</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-339">175,594</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><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"><tr><td style="width:1.0%"/><td style="width:19.930%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.627%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Common<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Paid-in<br/>Capital</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Retained<br/>Earnings</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Treasury<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated Other<br/>Comprehensive Loss</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Noncontrolling<br/>Interest</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total Stockholders&#8217;<br/>Equity</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, June 30, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-340">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: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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-341">42,612</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-38" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-342">131,916</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-343">6,405</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-40" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-344">21,156</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-345">574</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-42" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-346">147,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-43" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-347">35,905</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-44" decimals="-3" sign="-" name="us-gaap:ProfitLoss" scale="3" id="f-348">7</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-349">35,898</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income, net of tax:</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="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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Pension liability adjustment</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-350">24</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-351">24</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-352">1,358</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-44" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-353">18</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-354">1,376</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized derivative loss on cash flow hedges</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-355">698</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-356">698</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchase of <ix:nonFraction unitRef="shares" contextRef="c-14" decimals="0" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="f-357">126,688</ix:nonFraction> common shares for treasury</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-46" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-358">2,623</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-359">2,623</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of <ix:nonFraction unitRef="shares" contextRef="c-14" decimals="0" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="f-360">1,206</ix:nonFraction> common shares, net of shares withheld for taxes</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-47" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="f-361">15</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-46" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="f-362">34</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="f-363">19</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-47" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-364">788</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-365">788</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, September 30, 2024</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-48" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-366">111</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-367">43,385</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-368">167,821</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-369">8,994</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-370">20,472</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-371">585</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-372">182,436</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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_31"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Unaudited) </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Dollars in thousands)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.583%"><tr><td style="width:1.0%"/><td style="width:19.820%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.647%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Common<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Paid-in<br/>Capital</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Retained<br/>Earnings</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Treasury<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated Other<br/>Comprehensive Loss</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Noncontrolling<br/>Interest</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total Stockholders&#8217;<br/>Equity</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-373">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: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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-55" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-374">43,550</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-375">167,579</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-376">11,208</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-377">21,716</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-378">698</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-379">179,014</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-380">5,129</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" sign="-" name="us-gaap:ProfitLoss" scale="3" id="f-381">82</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-382">5,047</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income, net of tax:</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="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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-383">1,352</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-384">177</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-385">1,529</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized derivative loss on cash flow hedges</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-386">351</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-387">351</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchase of <ix:nonFraction unitRef="shares" contextRef="c-1" decimals="0" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="f-388">461,704</ix:nonFraction> common shares for treasury</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-389">11,159</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;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-390">11,159</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of <ix:nonFraction unitRef="shares" contextRef="c-1" decimals="0" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="f-391">130,198</ix:nonFraction> common shares, net of shares withheld for taxes</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="f-392">3,467</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="f-393">1,564</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="f-394">1,903</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-395">3,417</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;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-396">3,417</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, September 30, 2025</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-397">111</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-398">43,500</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-399">172,708</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-400">20,803</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-401">20,715</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-402">793</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-403">175,594</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><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"><tr><td style="width:1.0%"/><td style="width:19.930%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.624%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.627%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Common<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Paid-in<br/>Capital</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Retained<br/>Earnings</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Treasury<br/>Stock</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated Other<br/>Comprehensive Loss</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Noncontrolling<br/>Interest</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total Stockholders&#8217;<br/>Equity</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-404">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: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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-405">43,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: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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-406">124,633</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-407">6,494</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-408">19,250</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-409">724</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-410">142,835</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-411">43,188</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" sign="-" name="us-gaap:ProfitLoss" scale="3" id="f-412">68</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="f-413">43,120</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income, net of tax:</span></div></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="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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Pension liability adjustment</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-414">75</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-415">75</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-416">519</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-417">71</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-418">590</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized derivative loss on cash flow hedges</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-419">778</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="f-420">778</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchase of <ix:nonFraction unitRef="shares" contextRef="c-15" decimals="0" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="f-421">196,768</ix:nonFraction> common shares for treasury</span></div></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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-422">4,330</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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-423">4,330</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of <ix:nonFraction unitRef="shares" contextRef="c-15" decimals="0" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="f-424">120,387</ix:nonFraction> common shares, net of shares withheld for taxes</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="f-425">3,235</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="f-426">1,830</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="f-427">1,405</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-428">3,135</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;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-429">3,135</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Investment of noncontrolling interest</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="f-430">374</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="f-431">374</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance, September 30, 2024</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-48" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-432">111</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-433">43,385</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-434">167,821</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-435">8,994</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-436">20,472</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="f-437">585</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-438">182,436</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><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_34"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. FOSTER COMPANY AND SUBSIDIARIES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Unaudited)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Dollars in thousands, except share data)</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_37"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 1. <ix:nonNumeric contextRef="c-1" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="f-439" continuedAt="f-439-1" escape="true">Basis of Presentation</ix:nonNumeric></span></div><ix:continuation id="f-439-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="f-440" escape="true">The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three and nine months ended September 30, 2025 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2025. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2024. In this Quarterly Report on Form&#160;10-Q, references to &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; and the &#8220;Company&#8221; refer collectively to L.B. Foster Company and its consolidated subsidiaries.</ix:nonNumeric> </span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="f-441" escape="true"><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Recently Issued Accounting Standards</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued Accounting Standards Update 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (&#8220;ASU 2023-09&#8221;). ASU 2023-09 requires entities to disclose additional information with respect to the effective tax rate reconciliation and disaggregation of income tax expense and income taxes paid by jurisdiction. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company does not expect the adoption of ASU 2023-09 to have an impact to its consolidated financial condition, results of operations, and cash flows other than its disclosures.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued Accounting Standards Update 2024-03, Income Statement -  Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40) (&#8220;ASU 2024-03&#8221;), which requires entities to provide more detailed disaggregation of expenses in the income statement, focusing on the nature of the expenses rather than their function. The new disclosures will require public business entities to disclose in the notes to the financial statements, at each interim and annual reporting period, specific information about certain costs and expenses, including purchases of inventory, employee compensation, depreciation, and intangible asset amortization included in each expense caption presented on the face of the income statement, and the total amount of an entity's selling expenses. The amendments are effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, and may be applied either prospectively or retrospectively. Early adoption is permitted. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In September 2025, the FASB issued Accounting Standards Update 2025-06, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40) (&#8220;ASU 2025-06&#8221;), which provides targeted improvements related to the accounting for costs incurred in the development of internal-use software. The amendment replaces the previous stage-based model with clearer guidance on capitalization thresholds and implementation costs. The amendments are effective for annual periods beginning after December 15, 2027, and interim reporting periods within those annual reporting periods. Early adoption is permitted as of the beginning of an annual reporting period. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements and related disclosures.</span></div></ix:nonNumeric></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_40"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 2. <ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingDisclosureTextBlock" id="f-442" continuedAt="f-442-1" escape="true">Business Segments </ix:nonNumeric></span></div><ix:continuation id="f-442-1" continuedAt="f-442-2"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company determines its operating segments based on how the Company's Chief Operating Decision Maker (&#8220;CODM&#8221;), the Company's President and Chief Executive Officer, manages the businesses, including resource allocation and operating decisions. The Company is organized into <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="f-443">two</ix:nonFraction> operating segments, which represent the individual businesses that are run separately within this operational structure. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Operating segments are evaluated on their segment operating income contribution to the Company&#8217;s consolidated results. The Company considers the aggregation of operating segments into reporting segments based on the nature of offerings, nature of production services, the type or class of customer for products and services, methods used to distribute products and services, and economic and regulatory environment conditions.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',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-444">two</ix:nonFraction> reportable segments: Rail, Technologies, and Services (&#8220;Rail&#8221;), and Infrastructure Solutions (&#8220;Infrastructure&#8221;). The Company&#8217;s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the CODM, who uses such information to make decisions </span></div></ix:continuation><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-442-2" continuedAt="f-442-3"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">about resources to be allocated to the segments, and (c) for which discrete financial information is available. The CODM uses segment operating income to determine resources to allocate to each segment (including personnel and financial resources) during the annual budgeting process. The CODM evaluates segment performance regularly by comparing the segment operating income to the budgeted measure.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Segment operating income includes reportable segment gross profit and direct expenses such as salaries, benefits, restructuring, research and development, professional and purchased services expenditures, amortization expense, bad debt expense, and other segment expenses. Additionally, segment operating income includes allocated corporate operating expenses associated with central services such as quality, logistics, environmental health and safety, information technology, insurance, and human resources. Other corporate functional costs that are associated with the operating segments are also allocated to the segments such as finance, marketing, credit and collections, and treasury functions. Operating expenses related to corporate headquarter functions are allocated to each segment based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. Management believes the allocation of corporate operating expenses provides an accurate presentation of how the segments utilize corporate support activities. This provides the CODM meaningful segment profitability information to support operating decisions and the allocation of resources. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Certain corporate costs are separately managed on a consolidated basis and are not allocated to the operating segments. These corporate costs include public company costs such as listing fees, audit fees, compliance costs, insurance costs, and Board of Directors fees. Additionally, certain corporate executive management costs, including costs of the corporate executive leadership team, and corporate management stock-based compensation expenses are not allocated to the operating segments. Finally, interest expense, income taxes, and certain other items included in &#8220;Other income - net&#8221;, which are managed on a consolidated basis, are not allocated to the operating segments.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="f-445" continuedAt="f-445-1" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company&#8217;s reportable segments were as follows for the periods presented:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></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:34.177%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.048%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></div></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-446">77,788</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-447">60,498</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-448">138,286</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: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-449">79,498</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-450">57,968</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-451">137,466</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less:</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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-452">60,042</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-453">47,178</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-454">107,220</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="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-455">61,027</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-456">43,681</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-457">104,708</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative employment costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-458">7,900</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-459">6,086</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-460">13,986</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="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-461">8,475</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-462">6,030</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-463">14,505</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:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchased services </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-464">1,787</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-465">1,608</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-466">3,395</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="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-467">1,841</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-468">1,584</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-469">3,425</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">General administrative costs </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-470">1,765</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-471">1,184</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-472">2,949</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="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-473">2,378</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-474">1,261</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-475">3,639</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-476">399</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-477">295</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-478">694</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="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-479">844</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-480">302</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-481">1,146</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-482">5,895</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-483">4,147</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-484">10,042</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="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-485">4,933</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-486">5,110</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-487">10,043</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 style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;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 #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reconciliation of segment operating income</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="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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></div></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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-488">10,042</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-489">10,043</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-490">1,254</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-491">1,358</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-492">96</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-493">188</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="fstr:PublicCompanyCosts" format="ixt:num-dot-decimal" scale="3" id="f-494">1,162</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="fstr:PublicCompanyCosts" format="ixt:num-dot-decimal" scale="3" id="f-495">1,327</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="fstr:CorporateExecutiveManagementCosts" scale="3" id="f-496">175</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="fstr:CorporateExecutiveManagementCosts" scale="3" id="f-497">839</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="fstr:CorporateManagementStockBasedCompensation" scale="3" id="f-498">672</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="fstr:CorporateManagementStockBasedCompensation" scale="3" id="f-499">339</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other corporate expenses - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" sign="-" name="fstr:OtherCorporateCharges" scale="3" id="f-500">262</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="fstr:OtherCorporateCharges" scale="3" id="f-501">215</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></div></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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-502">7,137</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="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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-503">6,153</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 style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;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="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.</span></div></ix:nonNumeric></ix:continuation><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-442-3" continuedAt="f-442-4"><ix:continuation id="f-445-1" continuedAt="f-445-2"><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:34.177%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.038%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.048%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></div></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-504">207,776</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-505">171,860</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-506">379,636</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: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-507">247,715</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-508">154,867</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-509">402,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: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less:</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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-510">162,869</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-511">134,650</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-512">297,519</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="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-513">192,798</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-514">120,337</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-515">313,135</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative employment costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-516">22,536</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-517">17,552</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-518">40,088</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="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-519">24,083</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-520">17,874</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:LaborAndRelatedExpense" format="ixt:num-dot-decimal" scale="3" id="f-521">41,957</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:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchased services </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-522">5,120</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-523">4,239</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-524">9,359</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="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-525">5,590</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-526">4,684</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="fstr:PurchasedServicesExpense" format="ixt:num-dot-decimal" scale="3" id="f-527">10,274</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">General administrative costs </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-528">5,707</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-529">4,052</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-530">9,759</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="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-531">5,524</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-532">3,649</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-533">9,173</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-534">1,758</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-535">898</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-536">2,656</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="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-537">2,508</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:AdjustmentForAmortization" scale="3" id="f-538">978</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="f-539">3,486</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-540">9,786</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-541">10,469</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-542">20,255</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="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-543">17,212</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-544">7,345</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-545">24,557</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 style="height:15pt"><td colspan="3" style="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="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"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reconciliation of segment operating income</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="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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></div></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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-546">20,255</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-547">24,557</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gain on sale of former joint venture facility</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="f-548">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:num-dot-decimal" scale="3" id="f-549">3,477</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-550">3,887</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" format="ixt:num-dot-decimal" scale="3" id="f-551">3,976</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-552">509</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-553">525</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="fstr:PublicCompanyCosts" format="ixt:num-dot-decimal" scale="3" id="f-554">3,633</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="fstr:PublicCompanyCosts" format="ixt:num-dot-decimal" scale="3" id="f-555">4,167</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="fstr:CorporateExecutiveManagementCosts" format="ixt:num-dot-decimal" scale="3" id="f-556">1,123</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="fstr:CorporateExecutiveManagementCosts" format="ixt:num-dot-decimal" scale="3" id="f-557">4,131</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="fstr:CorporateManagementStockBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-558">1,711</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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="fstr:CorporateManagementStockBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-559">1,818</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other corporate expenses - 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" sign="-" name="fstr:OtherCorporateCharges" scale="3" id="f-560">262</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="fstr:OtherCorporateCharges" scale="3" id="f-561">457</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><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></div></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 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:'Times New Roman',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:'Times New Roman',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-562">10,672</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;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:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-563">14,010</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="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="border-top:3pt double #000;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="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 30, 2024, the Company sold a former joint venture facility located in Magnolia, Texas, generating a $<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:num-dot-decimal" scale="3" id="f-564">3,477</ix:nonFraction> gain on sale recorded in &#8220;Gain on sale of former joint venture facility&#8221; which is included as a component of corporate operating income.</span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="f-445-2" continuedAt="f-445-3"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Reconciliations of reportable depreciation and amortization and expenditures for long-lived assets to the Company&#8217;s consolidated totals are as follows for the periods presented: </span></div><div><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:45.308%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.745%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.745%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.745%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.749%"/><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="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-565">793</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="f-566">350</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-567">1,202</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-568">1,147</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-569">1,654</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-570">2,050</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-571">1,817</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-572">1,669</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-573">2,447</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-574">2,400</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-575">3,019</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-576">2,816</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-577">521</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="f-578">409</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-579">467</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="f-580">251</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-581">2,968</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-582">2,809</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-583">3,486</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-584">3,067</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><div><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-442-4" continuedAt="f-442-5"><ix:continuation id="f-445-3"><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:45.308%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.745%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.745%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.745%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.352%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.749%"/><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="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-585">2,874</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-586">1,405</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-587">3,578</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-588">1,765</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-589">5,098</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-590">5,545</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-591">5,594</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-592">5,100</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:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-593">7,972</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-594">6,950</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-595">9,172</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-596">6,865</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-597">1,530</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-598">1,107</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-95" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-599">1,390</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-95" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="f-600">969</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:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div></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:'Times New Roman',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:'Times New Roman',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-601">9,502</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-602">8,057</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-603">10,562</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" format="ixt:num-dot-decimal" scale="3" id="f-604">7,834</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><div><span><br/></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's total assets by reportable segment for the following periods:</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:75.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-96" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-605">148,746</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-606">158,859</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-607">130,964</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-99" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-608">123,755</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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-100" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-609">279,710</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-610">282,614</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-611">54,179</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-103" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-612">51,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:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-613">333,889</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:'Times New Roman',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:'Times New Roman',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-614">334,550</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On June 21, 2022, the Company acquired the stock of Skratch Enterprises Ltd. for $<ix:nonFraction unitRef="usd" contextRef="c-104" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="f-615">7,402</ix:nonFraction>, which was inclusive of deferred payments withheld by the Company of $<ix:nonFraction unitRef="usd" contextRef="c-104" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-616">1,228</ix:nonFraction>, to be paid over the next <ix:nonNumeric contextRef="c-105" name="fstr:BusinessCombinationPaymentOfDeferredConsiderationTerm" format="ixt-sec:durwordsen" id="f-617">five years</ix:nonNumeric> or utilized to satisfy post-closing working capital adjustments or indemnity claims under the purchase agreement. During the nine months ended September 30, 2025, the Company made a deferred acquisition payment of $<ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="f-618">782</ix:nonFraction>.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"><br/>During the nine months ended September 30, 2025, the Company announced the discontinuation of its Automation and Materials Handling product line (&#8220;AMH Exit&#8221;) which was reported in the Technology Services and Solutions business unit within the Rail segment. The decision to exit was due to the Company's initiatives to scale back businesses in the United Kingdom. The Company expects to complete any remaining customer obligations by the end of 2025. This product line had net sales of $<ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="f-619">530</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="f-620">907</ix:nonFraction> for the three months ended September 30, 2025 and 2024, respectively, and $<ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-621">1,750</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-622">4,230</ix:nonFraction> for the nine months ended September 30, 2025 and 2024, respectively. During the nine months ended September 30, 2025, the Company incurred a total of $<ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-623">1,351</ix:nonFraction> in exit costs associated with the AMH Exit, which included $<ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="fstr:InventoryAndFixedAssetWriteDown" scale="3" id="f-624">655</ix:nonFraction> in inventory and fixed asset write-downs, $<ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="fstr:PersonnelExpenses" scale="3" id="f-625">507</ix:nonFraction> in personnel expenses, and $<ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="fstr:OtherExitCosts" scale="3" id="f-626">189</ix:nonFraction> in other exit costs. Exit costs of $<ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-627">1,085</ix:nonFraction> were recorded in &#8220;Cost of goods sold&#8221; and $<ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-628">266</ix:nonFraction> were recorded in &#8220;Selling and administrative expenses&#8221; within our Rail segment. The Company does not expect to incur additional material AMH Exit costs in the remainder of 2025.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In August 2024, the Company announced an enterprise restructuring program aligned with its strategy to reduce costs and enable investment in its growth platforms. The restructuring action was completed as of December&#160;31, 2024 and no additional costs are expected to be incurred under this program. As of December&#160;31, 2024, the Company's restructuring liability for this program was $<ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="f-629">687</ix:nonFraction>, all of which has been paid out as of September&#160;30, 2025.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" id="f-630" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restructuring liability balance and utilization for restructuring actions, which are primarily related to severance costs through September&#160;30, 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:87.233%"/><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 style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.012%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Restructuring Liability</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></div></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="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="f-631">687</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Personnel and other exit costs associated with AMH Exit</span></div></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="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-632">696</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Payments </span></div></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="background-color:#cceeff;padding:0 1pt"/><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',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-633">1,150</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></div></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="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="f-634">233</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:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-442-5">On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (&#8220;Bridge Exit&#8221;) which was reported in the Steel Products business unit within Infrastructure. The Bedford, PA based operations supporting the product line expect to complete any remaining customer obligations in 2025. For the three months ended September 30, 2025 and 2024, net sales associated with the product line were $<ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="f-635">94</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="f-636">921</ix:nonFraction>, respectively, and for the nine months ended September 30, 2025 and 2024 were $<ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-637">1,093</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-118" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-638">2,888</ix:nonFraction>, respectively. The Company does not expect to incur additional material exit costs in 2025.</ix:continuation> </span></div><div id="i317efcfcfa2247feb83b02c33a05c800_46"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 3. <ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="f-639" continuedAt="f-639-1" escape="true">Revenue</ix:nonNumeric></span></div><ix:continuation id="f-639-1" continuedAt="f-639-2"><ix:nonNumeric contextRef="c-1" name="fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock" id="f-640" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s sales by major product and service line for the periods presented:</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:51.677%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-641">44,628</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-120" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-642">47,442</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-643">121,517</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-644">156,803</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Global Friction Management</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-123" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-645">21,313</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-646">19,548</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-647">57,307</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-648">51,008</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-127" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-649">11,847</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-128" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-650">12,508</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-129" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-651">28,952</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-130" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-652">39,904</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-131" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-653">77,788</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-132" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-654">79,498</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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-133" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-655">207,776</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-656">247,715</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-657">43,272</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-658">42,688</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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-137" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-659">117,650</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-660">97,730</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-139" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-661">17,226</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-662">15,280</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-141" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-663">54,210</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-142" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-664">57,137</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-665">60,498</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-666">57,968</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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-145" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-667">171,860</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-146" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-668">154,867</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-669">138,286</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-670">137,466</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-671">379,636</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-672">402,582</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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The majority of the Company&#8217;s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="f-673" continuedAt="f-673-1" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by the timing of the transfer of goods and services was as follows for the periods presented:</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:58.066%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.820%"/><td style="width:0.1%"/></tr><tr><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-674">65,152</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-675">39,621</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-149" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-676">104,773</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-150" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-677">12,636</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-151" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-678">20,877</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-152" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-679">33,513</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-131" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-680">77,788</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-681">60,498</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-682">138,286</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr><tr><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-153" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-683">62,717</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-154" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-684">33,462</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-155" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-685">96,179</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-156" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-686">16,781</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-157" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-687">24,506</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-158" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-688">41,287</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-132" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-689">79,498</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-690">57,968</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-691">137,466</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="text-align:justify"><span><br/></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:58.205%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.820%"/><td style="width:0.1%"/></tr><tr><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-159" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-692">176,250</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-160" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-693">109,433</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-161" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-694">285,683</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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-162" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-695">31,526</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-163" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-696">62,427</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-164" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-697">93,953</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-133" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-698">207,776</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-145" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-699">171,860</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-700">379,636</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></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-639-2" continuedAt="f-639-3"><ix:continuation id="f-673-1" continuedAt="f-673-2"><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:58.205%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.681%"/><td style="width:0.1%"/></tr><tr><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-165" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-701">198,179</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-166" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-702">98,246</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-167" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-703">296,425</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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-168" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-704">49,536</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-169" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-705">56,621</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-170" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-706">106,157</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-707">247,715</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-146" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-708">154,867</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-709">402,582</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><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">The Company&#8217;s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts the Company&#8217;s performance to date under the terms of the contract. Revenue under these long-term agreements may also be recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract.  As a result of management's reviews of contract-related estimates the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. During the three months ended September 30, 2025, reductions to net sales stemming from changes in actual and expected values of certain commercial contracts and settlements of such contracts were $<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" format="ixt:num-dot-decimal" scale="3" id="f-710">1,476</ix:nonFraction>; there were <ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" format="ixt:fixed-zero" scale="0" id="f-711">no</ix:nonFraction> changes in actual or expected values during the three months ended September 30, 2024. During the nine months ended September 30, 2025 and 2024, such adjustments to net sales were $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" format="ixt:num-dot-decimal" scale="3" id="f-712">3,123</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" format="ixt:num-dot-decimal" scale="3" id="f-713">1,477</ix:nonFraction>, respectively. The Company&#8217;s estimates related to these long-term agreements are further described in &#8220;Note 3. Revenue&#8221; of the Notes to the Company&#8217;s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December&#160;31, 2024.</span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="f-673-2"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized over time was as follows for the periods presented:</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:45.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-171" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-714">6,168</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-172" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-715">15,020</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-171" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-716">4.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-172" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-717">10.9</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-173" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-718">27,345</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-174" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-719">26,267</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-173" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-720">19.8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-174" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-721">19.1</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-722">33,513</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-723">41,287</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-13" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-724">24.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-14" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-725">30.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"><tr><td style="width:1.0%"/><td style="width:45.139%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.496%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.852%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.852%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.852%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.357%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.438%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended  September 30,</span></div></td></tr><tr><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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-726">20,795</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-176" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-727">42,259</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-175" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-728">5.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-176" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-729">10.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-177" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-730">73,158</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-178" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-731">63,898</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-177" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-732">19.3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-178" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-733">15.9</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-734">93,953</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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="f-735">106,157</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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-736">24.8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-15" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="f-737">26.4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in &#8220;Contract assets - net&#8221;), and billings in excess of costs (contract liabilities), included in &#8220;Deferred revenue&#8221; within the Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="f-738" continuedAt="f-738-1" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s contract assets:</span></div></ix:nonNumeric></ix:continuation><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-639-3"><ix:continuation id="f-738-1"><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:84.872%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.234%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Contract Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-739">16,720</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized but not yet billed </span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fstr:ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" format="ixt:num-dot-decimal" scale="3" id="f-740">2,831</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to contract assets </span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" format="ixt:num-dot-decimal" scale="3" id="f-741">3,123</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Transfers from contract asset balance to accounts receivable </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ContractWithCustomerAssetReclassifiedToReceivable" format="ixt:num-dot-decimal" scale="3" id="f-742">8,485</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-743">7,943</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><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s contract liabilities:</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:84.872%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.234%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Contract Liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-744">1,991</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized from contract liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="3" id="f-745">1,419</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Increase in billings in excess of cost, excluding revenue recognized </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts" scale="3" id="f-746">937</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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September&#160;30, 2025</span></div></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-747">1,509</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><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of September&#160;30, 2025, the Company had approximately $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="f-748">247,416</ix:nonFraction> of remaining performance obligations, which is also referred to as backlog. Approximately <ix:nonFraction unitRef="number" contextRef="c-179" decimals="3" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" format="ixt:num-dot-decimal" scale="-2" id="f-749">8.0</ix:nonFraction>% of the September&#160;30, 2025 backlog was related to projects that are anticipated to extend beyond September&#160;30, 2026.</span></div></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_52"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 4. <ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="f-751" continuedAt="f-751-1" escape="true">Goodwill and Other Intangible Assets</ix:nonNumeric></span></div><ix:continuation id="f-751-1" continuedAt="f-751-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfGoodwillTextBlock" id="f-752" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill balance by reportable segment for the period presented:</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:58.483%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.820%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-180" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-753">20,231</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-181" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-754">11,676</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-755">31,907</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-133" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-756">1,085</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-145" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-757">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-758">1,085</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-182" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-759">21,316</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-183" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-760">11,676</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-761">32,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which includes the impacts of current economic conditions, including but not limited to concerns related to inflation, tariffs, labor markets, supply chains, and changes in trade policy. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of September&#160;30, 2025. However, future impairment charges could result if future projections diverge unfavorably from current expectations.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="f-762" continuedAt="f-762-1" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the components of the Company&#8217;s intangible assets for the periods presented:</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:45.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30, 2025</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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-184" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-763">10</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-185" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-764">319</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-185" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-765">207</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-185" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-766">112</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-186" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-767">12</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-187" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-768">28,721</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-187" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-769">21,951</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-187" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-770">6,770</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-188" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-771">13</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-189" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-772">8,051</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-189" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-773">5,682</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-189" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-774">2,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-190" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-775">8</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-191" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-776">32,806</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-191" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-777">30,033</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-191" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-778">2,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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-192" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-779">6</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-193" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-780">327</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-193" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-781">173</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-193" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-782">154</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><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 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-783">70,224</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-784">58,046</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-785">12,178</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="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><ix:continuation id="f-762-1"><ix:continuation id="f-751-2"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-194" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-786">10</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-195" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-787">308</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-195" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-788">198</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-195" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-789">110</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-196" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-790">13</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-197" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-791">28,006</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-197" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-792">19,958</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-197" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-793">8,048</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-198" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-794">13</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-199" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-795">7,974</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-199" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-796">5,219</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-199" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-797">2,755</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-200" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-798">9</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-201" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-799">32,616</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-201" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-800">28,923</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-201" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-801">3,693</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-202" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-802">6</ix:nonNumeric></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-203" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-803">327</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-203" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-804">132</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-203" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-805">195</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-806">69,231</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-807">54,430</ix:nonFraction>)</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-808">14,801</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></ix:continuation></ix:continuation><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"><br/> </span></div><div id="i317efcfcfa2247feb83b02c33a05c800_55"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 5. <ix:nonNumeric contextRef="c-1" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="f-809" continuedAt="f-809-1" escape="true">Accounts Receivable</ix:nonNumeric></span></div><ix:continuation id="f-809-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Changes in reserves for uncollectible accounts are recorded as part of &#8220;Selling and administrative expenses&#8221; in the Condensed Consolidated Statements of Operations and are recorded net of recoveries of previous write-offs. During the three months ended September 30, 2025 and 2024, the Company recorded a net benefit of $<ix:nonFraction unitRef="usd" contextRef="c-204" decimals="-3" sign="-" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-810">74</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-205" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-811">0</ix:nonFraction>, respectively, and during the nine months ended September 30, 2025 and 2024 recorded a net expense of $<ix:nonFraction unitRef="usd" contextRef="c-206" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-812">444</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-207" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-813">529</ix:nonFraction>, respectively. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company established the allowance for credit losses by calculating the amount to reserve based on the age of a given trade receivable and considering historical collection patterns, bad debt expense experience, expected future trends of collections, current and expected market conditions, and any other relevant subjective adjustments as needed. Management maintains high-quality credit review practices and positive customer relationships that mitigate credit risks. The Company&#8217;s reserves are regularly reviewed and revised as necessary.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="f-814" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s allowance for credit losses:</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:85.427%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.818%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Allowance for Credit Losses</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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-815">1,127</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</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:'Times New Roman',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-816">909</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Write-off against allowance</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:'Times New Roman',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-817">129</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries of previous write-offs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries" scale="3" id="f-818">465</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-819">1,442</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><tr><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"/></tr></table></div></ix:nonNumeric></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_58"></div><div style="margin-bottom:3pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 6. <ix:nonNumeric contextRef="c-1" name="us-gaap:InventoryDisclosureTextBlock" id="f-820" continuedAt="f-820-1" escape="true">Inventory</ix:nonNumeric></span></div><ix:continuation id="f-820-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Inventory is valued at average cost or net realizable value, whichever is lower. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="f-821" continuedAt="f-821-1" escape="true">The Company&#8217;s components of inventory are summarized in the following table for the periods presented:</ix:nonNumeric></span></div><ix:continuation id="f-821-1"><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:75.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-822">35,655</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-823">37,238</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-824">7,547</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-825">6,717</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-826">26,361</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',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-827">26,551</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories - net</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-828">69,563</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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-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:'Times New Roman',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-829">70,506</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_61"></div><div style="margin-bottom:3pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 7. <ix:nonNumeric contextRef="c-1" name="us-gaap:DebtDisclosureTextBlock" id="f-830" continuedAt="f-830-1" escape="true">Long-Term Debt and Related Matters</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="f-831" escape="true"><ix:continuation id="f-830-1" continuedAt="f-830-2"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following:</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:75.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LineOfCredit" format="ixt:num-dot-decimal" scale="3" id="f-832">58,122</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LineOfCredit" format="ixt:num-dot-decimal" scale="3" id="f-833">46,467</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases and financing agreements</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="f-834">600</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="f-835">473</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="f-836">58,722</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="f-837">46,940</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less current maturities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="f-838">167</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="f-839">167</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Long-term portion</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="f-840">58,555</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="f-841">46,773</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-830-2"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;27, 2025, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#8220;Borrowers&#8221;), entered into the Fifth Amended and Restated Credit Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a participant. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, which had a maximum credit line of  $<ix:nonFraction unitRef="usd" contextRef="c-208" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-842">130,000</ix:nonFraction> and extends the maturity date from August 13, 2026 to June&#160;27, 2030. The Credit Agreement provides for a <ix:nonNumeric contextRef="c-209" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durwordsen" id="f-843">five-year</ix:nonNumeric>, revolving credit facility that permits aggregate borrowings of the Borrowers up to $<ix:nonFraction unitRef="usd" contextRef="c-210" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-844">150,000</ix:nonFraction> with sublimits for (a) the issuance of Letters of Credit in Dollars and in Alternative Currencies in an amount not to exceed the Dollar Equivalent of $<ix:nonFraction unitRef="usd" contextRef="c-211" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-845">30,000</ix:nonFraction>, and (b) borrowings of Swing Loans in Dollars in an amount not to exceed $<ix:nonFraction unitRef="usd" contextRef="c-212" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-846">20,000</ix:nonFraction>; and with an incremental loan feature not to exceed $<ix:nonFraction unitRef="usd" contextRef="c-213" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-847">60,000</ix:nonFraction>. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s obligations under the Credit Agreement are secured by the grant of a security interest by the Borrowers in substantially all of the assets owned by such entities. Additionally, the equity interests in each of the loan parties, other than the Company, and the equity interests held by each loan party in their subsidiaries, have been pledged to the lenders as collateral for the lending obligations.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement will bear interest at rates based upon either the base rate or Term SOFR rate plus applicable margins. Applicable margins are dictated by the ratio of the Company&#8217;s total net indebtedness to the Company&#8217;s consolidated EBITDA for four trailing quarters, as defined in the Credit Agreement. The base rate is the highest of (a) the Overnight Bank Funding Rate plus <ix:nonFraction unitRef="number" contextRef="c-214" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="f-848">0.50</ix:nonFraction>%, (b) the Prime Rate, or (c) the Daily Simple SOFR rate plus <ix:nonFraction unitRef="number" contextRef="c-215" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="f-849">1.00</ix:nonFraction>% so long as the Daily Simple SOFR rate is offered, ascertainable and not unlawful (each as defined in the Credit Agreement). The base rate and Term SOFR rate spreads range from <ix:nonFraction unitRef="number" contextRef="c-216" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="f-850">0.25</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-217" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="f-851">1.50</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-218" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="f-852">1.25</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-219" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="f-853">2.50</ix:nonFraction>%, respectively.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement includes <ix:nonFraction unitRef="covenant" contextRef="c-220" decimals="INF" name="fstr:DebtInstrumentNumberOfFinancialCovenants" format="ixt-sec:numwordsen" scale="0" id="f-854">two</ix:nonFraction> financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#8217;s Consolidated Indebtedness divided by the Company&#8217;s Consolidated EBITDA, which must not exceed (i) <ix:nonFraction unitRef="number" contextRef="c-221" decimals="2" name="fstr:DebtInstrumentCovenantLeverageRatioMaximum" format="ixt:num-dot-decimal" scale="0" id="f-855">3.50</ix:nonFraction> to 1.00 for all testing periods other than during an Acquisition Period, and (ii) <ix:nonFraction unitRef="number" contextRef="c-222" decimals="2" name="fstr:DebtInstrumentCovenantLeverageRatioMaximum" format="ixt:num-dot-decimal" scale="0" id="f-856">4.00</ix:nonFraction> to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company&#8217;s Consolidated EBITDA divided by the Company&#8217;s Fixed Charges, which must be more than <ix:nonFraction unitRef="number" contextRef="c-223" decimals="2" name="fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum" format="ixt:num-dot-decimal" scale="0" id="f-857">1.10</ix:nonFraction> to 1.00. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of September&#160;30, 2025, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $<ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:LineOfCredit" scale="3" id="f-858">770</ix:nonFraction>.</span></div></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_64"></div><div style="-sec-extract:summary;margin-bottom:3pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 8. <ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-859" continuedAt="f-859-1" escape="true">Earnings Per Common Share</ix:nonNumeric></span></div><ix:continuation id="f-859-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Share amounts in thousands)</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-860" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted earnings per common share for the periods indicated:</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:51.677%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted earnings per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding: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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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-861">4,354</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-862">35,905</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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-863">5,129</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-864">43,188</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" format="ixt:num-dot-decimal" scale="3" id="f-865">10,356</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" format="ixt:num-dot-decimal" scale="3" id="f-866">10,718</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" format="ixt:num-dot-decimal" scale="3" id="f-867">10,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" format="ixt:num-dot-decimal" scale="3" id="f-868">10,757</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings per common share</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-869">10,356</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-870">10,718</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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:'Times New Roman',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-871">10,444</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-872">10,757</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive securities:</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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock compensation plans</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" scale="3" id="f-873">524</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" scale="3" id="f-874">274</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" scale="3" id="f-875">479</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" scale="3" id="f-876">302</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive potential common shares</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-877">524</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-878">274</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-879">479</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-880">302</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings per common share - adjusted weighted average shares outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-13" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-881">10,880</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-882">10,992</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:'Times New Roman',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-883">10,923</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-884">11,059</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per common share</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-13" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-885">0.42</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-14" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-886">3.35</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-887">0.49</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-15" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-888">4.01</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-13" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-889">0.40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-14" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-890">3.27</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-891">0.47</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-15" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-892">3.91</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i317efcfcfa2247feb83b02c33a05c800_67"></div><div style="margin-bottom:6pt;margin-top:9pt"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 9. <ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-893" continuedAt="f-893-1" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="f-893-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September 30, 2025 and 2024, the Company recorded an income tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-894">2,812</ix:nonFraction> and an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-895">29,745</ix:nonFraction>, respectively, on pre-tax income of $<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-896">7,137</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-897">6,153</ix:nonFraction>, respectively, for an effective income tax rate of <ix:nonFraction unitRef="number" contextRef="c-13" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:num-dot-decimal" scale="-2" id="f-898">39.4</ix:nonFraction>% and (<ix:nonFraction unitRef="number" contextRef="c-14" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:num-dot-decimal" scale="-2" id="f-899">483.4</ix:nonFraction>%), respectively. For the nine months ended September 30, 2025 and 2024, the Company recorded an income tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-900">5,625</ix:nonFraction> and an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-901">29,110</ix:nonFraction>, respectively, on pre-tax income of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-902">10,672</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-903">14,010</ix:nonFraction>, respectively, for an effective income tax rate of <ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:num-dot-decimal" scale="-2" id="f-904">52.7</ix:nonFraction>% and (<ix:nonFraction unitRef="number" contextRef="c-15" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:num-dot-decimal" scale="-2" id="f-905">207.8</ix:nonFraction>)%, respectively. The Company's effective income tax rate for the three and nine months ended September 30, 2025 differed from the federal statutory rate of 21% primarily due to the impact of pre-tax losses in the United Kingdom, for which no income tax benefit was recognized due to a valuation allowance. The Company's effective income tax rate for the three and nine months ended September 30, 2024 differed from the federal statutory rate of 21% primarily due to a $<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-906"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-907">30,045</ix:nonFraction></ix:nonFraction> income tax benefit resulting from the change in valuation allowance previously recorded against certain U.S. federal and state deferred taxes. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, also impact the effective income tax rate each quarter.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On July 4, 2025, the One Big Beautiful Bill Act (&#8220;OBBBA&#8221;) was enacted in the United States. The OBBBA includes various tax provisions such as the permanent extension of certain expiring provisions of the Tax Cuts and Jobs Act, modifications to the international tax framework and the restoration of favorable tax treatment for certain business provisions. The impacts of the tax provisions included in the OBBBA are reflected in our results for the quarter ended September&#160;30, 2025, and did not have a material impact on the Company's Condensed Consolidated Financial Statements. The Company will continue to monitor any developments and guidance related to the OBBBA.</span></div></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_70"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 10. <ix:nonNumeric contextRef="c-1" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="f-908" continuedAt="f-908-1" escape="true">Stock-Based Compensation</ix:nonNumeric></span></div><ix:continuation id="f-908-1" continuedAt="f-908-2"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-909">1,306</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="f-910">788</ix:nonFraction> for the three months ended September 30, 2025 and 2024, respectively, and $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-911">3,417</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-912">3,135</ix:nonFraction> for the nine months ended September 30, 2025 and 2024, respectively, related to restricted stock awards and performance unit awards. As of September&#160;30, 2025, unrecognized compensation expense for awards that the Company expects to vest approximated $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="3" id="f-913">6,186</ix:nonFraction>. The Company will recognize this unrecognized compensation expense over a weighted average <ix:nonNumeric contextRef="c-1" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-914">1.7</ix:nonNumeric> years through February 20, 2028.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On May 22, 2025, the shareholders approved the new 2025 Equity and Incentive Compensation Plan (the &#8220;Equity and Incentive Compensation Plan&#8221;). As of September&#160;30, 2025, the Company had stock awards issued pursuant to the Equity and Incentive Compensation Plan and its predecessor, the 2006 Omnibus Incentive Compensation Plan (the &#8220;Omnibus Plan&#8221;). <ix:nonFraction unitRef="shares" contextRef="c-225" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:fixed-zero" scale="0" id="f-915"><ix:nonFraction unitRef="shares" contextRef="c-226" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:fixed-zero" scale="0" id="f-916">No</ix:nonFraction></ix:nonFraction> stock options are outstanding under the Omnibus Plan or the Equity and Incentive Compensation Plan and, as such, there was <ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:fixed-zero" scale="0" id="f-917"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:fixed-zero" scale="0" id="f-918"><ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:fixed-zero" scale="0" id="f-919"><ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:fixed-zero" scale="0" id="f-920">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> stock-based compensation expense related to stock options recorded for the three and nine months ended September 30, 2025 and 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-Employee Director Restricted Stock Awards and Fully-Vested Stock</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Since May 2018, non-employee directors have been awarded shares of the Company&#8217;s common stock on each date the non-employee directors were elected at the annual shareholders&#8217; meeting to serve as directors, subject to a <ix:nonNumeric contextRef="c-231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-921">one-year</ix:nonNumeric> vesting requirement. The Deferred Compensation Plan for Non-Employee Directors under the Omnibus Plan and, by amendment, under the Equity and Incentive Compensation Plan, which permits non-employee directors of the Company to defer receipt of earned cash and/or stock compensation for service on the Board into deferred stock units. Under the terms of the 2025 Equity and Incentive Compensation Plan, a non-employee Board member may elect to receive fully vested stock in lieu of quarterly cash compensation.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock and Performance-Based Stock and Share Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Under the Equity and Incentive Compensation Plan and Omnibus Plan, the Company grants certain employees restricted stock and performance-based stock and share units. The forfeitable restricted stock awards granted generally time-vest ratably over a <ix:nonNumeric contextRef="c-232" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-922">three-year</ix:nonNumeric> period, unless indicated otherwise by the underlying restricted stock award agreement. Performance unit awards are offered annually under separate <ix:nonNumeric contextRef="c-233" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-923">three-year</ix:nonNumeric> long-term incentive programs, unless indicated otherwise by the underlying performance unit award agreement. Performance units are subject to forfeiture and will be converted into common stock based upon the Company&#8217;s performance relative to performance measures and conversion multiples as defined in the underlying program.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock" id="f-924" continuedAt="f-924-1" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:</span></div></ix:nonNumeric></ix:continuation><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><ix:continuation id="f-924-1"><ix:continuation id="f-908-2"><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:63.483%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Restricted<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Performance-Based Stock<br/>and Share Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-234" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-925">203,552</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-235" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-926">534,521</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-927">16.31</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-232" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-928">118,473</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-233" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-929">127,033</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-930">18.65</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Vested</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-232" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-931">111,840</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="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-233" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-932">88,641</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-933">17.26</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled and forfeited</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-232" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-934">2,669</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="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-233" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-935">45,524</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-936">13.21</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-236" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-937">207,516</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-237" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-938">527,389</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-3" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-939">16.65</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i317efcfcfa2247feb83b02c33a05c800_73"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 11. <ix:nonNumeric contextRef="c-1" name="us-gaap:FairValueDisclosuresTextBlock" id="f-940" continuedAt="f-940-1" escape="true">Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="f-940-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the fair value of assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants. The fair values are based on assumptions that market participants would use when pricing an asset or liability, including assumptions about risk and the risks inherent in valuation techniques and the inputs to valuations. The fair value hierarchy is based on whether the inputs to valuation techniques are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company&#8217;s own assumptions of what market participants would use. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1:</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> Quoted market prices in active markets for identical assets or liabilities.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2:</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3:</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> Unobservable inputs that are not corroborated by market data.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">SOFR-based interest rate swaps</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> -&#160;To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into forward-starting SOFR-based interest rate swaps with notional values totaling $<ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="f-941">20,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="f-942">20,000</ix:nonFraction> effective August&#160;12, 2022 and August&#160;31, 2022, respectively. The August 12, 2022 interest rate swap expired on March 1, 2025. The August 31, 2022 interest rate swap expires on August 13, 2026. The fair value of the interest rate swaps are based on market-observable forward interest rates and represents the estimated amount that the Company would pay to terminate the agreements. As such, the swap agreements are classified as Level&#160;2 within the fair value hierarchy. As of September&#160;30, 2025 and December&#160;31, 2024, the interest rate swaps were recorded in &#8220;Other current assets&#8221; when the interest rate swaps&#8217; fair market value are in an asset position, and &#8220;Other accrued liabilities&#8221; when in a liability position within our Condensed Consolidated Balance Sheets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="f-943" escape="true"><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:20.150%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.622%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.511%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.372%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.483%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.622%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.511%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.372%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.350%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<br/>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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="f-944">79</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="f-945">&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-241" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="f-946">79</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-242" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="f-947">&#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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="f-948">430</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-243" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="f-949">&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="f-950">430</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-245" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="f-951">&#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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="f-952">79</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-953">&#8212;</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-241" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="f-954">79</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-242" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-955">&#8212;</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;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="f-956">430</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-243" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-957">&#8212;</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="f-958">430</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-245" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-959">&#8212;</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><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The $<ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="f-960">20,000</ix:nonFraction> interest rate swap agreements that became effective August 2022 are accounted for as cash flow hedges and the objective of the hedges is to offset the expected interest variability on payments associated with the interest rate on our debt. The gains and losses related to the interest rate swaps are reclassified from &#8220;Accumulated other comprehensive loss&#8221; in our Condensed Consolidated Balance Sheets and included in &#8220;Interest expense - net&#8221; in our Condensed Consolidated Statements of Operations as the interest expense from our debt is recognized.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September&#160;30, 2025 and 2024, the Company recognized interest income of $<ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-3" name="us-gaap:InvestmentIncomeInterest" scale="3" id="f-961">56</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-247" decimals="-3" name="us-gaap:InvestmentIncomeInterest" scale="3" id="f-962">340</ix:nonFraction>, respectively, from interest rate swaps. For the nine months ended September 30, 2025 and 2024, the Company recognized interest income of $<ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:InvestmentIncomeInterest" scale="3" id="f-963">331</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-249" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-964">1,017</ix:nonFraction> respectively, from interest rate swaps.</span></div></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_76"></div><div style="margin-bottom:6pt;margin-top:9pt"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 12. <ix:nonNumeric contextRef="c-1" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="f-965" continuedAt="f-965-1" escape="true">Retirement Plans</ix:nonNumeric></span></div><ix:continuation id="f-965-1"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company has <ix:nonFraction unitRef="plan" contextRef="c-250" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="f-966">two</ix:nonFraction> defined contribution retirement plans that cover its hourly and salaried employees in the United States. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#8217;s contributions to the defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (&#8220;ERISA&#8221;) and the Company&#8217;s policy and investment guidelines applicable to each respective plan. The Company&#8217;s policy is to contribute at least the minimum in accordance with the funding standards of ERISA. The Company maintains <ix:nonFraction unitRef="plan" contextRef="c-251" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="f-967">one</ix:nonFraction> defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains <ix:nonFraction unitRef="plan" contextRef="c-252" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="f-968">two</ix:nonFraction> defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On May 23, 2024, the Company's Board of Directors approved the termination of the frozen L.B. Foster Company Merged Retirement Plan (the &#8220;US DB Plan&#8221;) and the Portec Rail Products (UK) Limited Pension Scheme (the &#8220;UK DB Plan&#8221;). At such time, the Company notified all plan participants of the Company's intentions to terminate and fully settle the obligations. During the fourth quarter of 2024, the Company completed the termination of the US DB Plan.  In January 2025, the Company entered into an insurance  buy-in contract with a third party insurer which resulted in an exchange of plan assets of the UK DB Plan for an annuity that covers our future projected benefit obligations. The Company expects the buy out of the plan and transfer of future benefit obligations of plan participants to be completed in early 2026. The Company does not expect to make any further contributions to the UK DB Plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">United Kingdom Defined Benefit Plan</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfNetBenefitCostsTableTextBlock" id="f-969" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</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:51.677%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-970">65</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-971">57</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-972">192</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-973">171</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-974">87</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-975">95</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-976">257</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-977">285</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service costs and transition amount</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-978">7</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-979">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-980">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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-981">18</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="f-982">12</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="f-983">8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="f-984">33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="f-985">24</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-986">3</ix:nonFraction>)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-987">24</ix:nonFraction>)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-988">13</ix:nonFraction>)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-989">72</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Defined Contribution Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company sponsors <ix:nonFraction unitRef="plan" contextRef="c-1" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="f-990">five</ix:nonFraction> defined contribution plans for hourly and salaried employees across its domestic and international facilities. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock" id="f-991" continuedAt="f-991-1" escape="true">The following table summarizes the expense associated with the contributions made to these plans for the periods presented:</ix:nonNumeric></span></div><ix:continuation id="f-991-1"><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:51.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">United States</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-256" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-992">743</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-257" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-993">698</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="3" id="f-994">2,201</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-258" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="3" id="f-995">1,968</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Canada</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-259" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-996">37</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-260" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-997">39</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-998">140</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-261" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-999">149</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-1000">341</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-1001">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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-1002">945</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="f-1003">877</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="3" id="f-1004">1,121</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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="3" id="f-1005">1,041</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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="3" id="f-1006">3,286</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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="3" id="f-1007">2,994</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div id="i317efcfcfa2247feb83b02c33a05c800_79"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Note 13. <ix:nonNumeric contextRef="c-1" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="f-1008" continuedAt="f-1008-1" escape="true">Commitments and Contingent Liabilities</ix:nonNumeric></span></div><ix:continuation id="f-1008-1" continuedAt="f-1008-2"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Product Liability Claims</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Union Pacific Railroad (&#8220;UPRR&#8221;) Concrete Tie Matter</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On March 13, 2019, the Company and its subsidiary, CXT Incorporated (&#8220;CXT&#8221;), entered into a Settlement Agreement (the &#8220;Settlement Agreement&#8221;) with UPRR to resolve the then-pending litigation in the matter of </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">, Case No. CI 15-564, in the District Court for Douglas County, Nebraska. Under the Settlement Agreement, the Company and CXT agreed to pay UPRR the aggregate amount of $<ix:nonFraction unitRef="usd" contextRef="c-262" decimals="-3" name="us-gaap:LitigationSettlementAmountAwardedToOtherParty" format="ixt:num-dot-decimal" scale="0" id="f-1009">50,000</ix:nonFraction> without pre-judgment interest, which began with a $<ix:nonFraction unitRef="usd" contextRef="c-262" decimals="-3" name="fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent" format="ixt:num-dot-decimal" scale="0" id="f-1010">2,000</ix:nonFraction> immediate payment, and with the remaining $<ix:nonFraction unitRef="usd" contextRef="c-262" decimals="-3" name="fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent" format="ixt:num-dot-decimal" scale="0" id="f-1011">48,000</ix:nonFraction> paid in installments over a <ix:nonNumeric contextRef="c-262" name="fstr:LitigationSettlementInstallmentPaymentTerm" format="ixt-sec:durwordsen" id="f-1012">six-year</ix:nonNumeric> period commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. As of December&#160;31, 2024 the UPRR Settlement Agreement has been fully paid and UPRR's purchase obligations under this Agreement have been satisfied.</span></div></ix:continuation><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="f-1008-2"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Environmental and Legal Proceedings</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company&#8217;s efforts to comply with environmental regulations may have an adverse effect on its future earnings.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%">On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (&#8220;EPA&#8221;) indicating that the Company may be a potentially responsible party (&#8220;PRP&#8221;) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than <ix:nonFraction unitRef="company" contextRef="c-263" decimals="-1" name="fstr:NumberOfCompaniesReceivingGeneralNoticeLetter" scale="0" id="f-1013">140</ix:nonFraction> other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-8" name="fstr:PresentValueOfProposedRemedialWork" format="ixt:num-dot-decimal" scale="9" id="f-1014">1.1</ix:nonFraction> billion and $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-8" name="fstr:UndiscoveredRemedialWork" format="ixt:num-dot-decimal" scale="9" id="f-1015">1.7</ix:nonFraction> billion respectively, and the remedial work is expected to take as long as <ix:nonNumeric contextRef="c-1" name="fstr:RemedialWorkAnticipatedCleanUpPeriod" format="ixt-sec:duryear" id="f-1016">13</ix:nonNumeric> years to complete. Other estimates indicate that these costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost <ix:nonFraction unitRef="party" contextRef="c-3" decimals="-2" name="fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" scale="0" id="f-1017">100</ix:nonFraction> PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994.  On March 26, 2020, the EPA issued a Unilateral Administrative Order to <ix:nonFraction unitRef="party" contextRef="c-264" decimals="INF" name="fstr:NumberOfPartiesRequiredToPerformRemedialWork" format="ixt-sec:numwordsen" scale="0" id="f-1018">two</ix:nonFraction> parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. On December 2, 2024, the Company and many other PRPs received a Special Notice Letter ("SNL") from the EPA regarding a formal initiation of negotiations for the investigation and cleanup of the Portland Harbor Superfund Site and requesting a "good faith offer" from certain PRPs as to remediation and reimbursement of costs within 120 days, which, if accepted, would lead to a formal Consent Decree which may not be entered under the EPA's proposed schedule until fall of 2026 or by March 2027.  The deadline for a response was extended to May 30, 2025, and the Company responded, along with other similarly-situated parties, in a timely manner.  The Company cannot predict the ultimate impact of these proceedings and the SNLs because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company&#8217;s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of September&#160;30, 2025 and December&#160;31, 2024, the Company maintained reserves of  $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccrualForEnvironmentalLossContingencies" format="ixt:num-dot-decimal" scale="3" id="f-1019">1,590</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccrualForEnvironmentalLossContingencies" format="ixt:num-dot-decimal" scale="3" id="f-1020">1,796</ix:nonFraction>, respectively, for all of its environmental liabilities.</span></div><div style="margin-bottom:3pt"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Other Legal Matters</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management&#8217;s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company&#8217;s financial position or liquidity as of September&#160;30, 2025.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company&#8217;s assessment as of September&#160;30, 2025, no such disclosures were considered necessary.</span></div></ix:continuation><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_82"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;2. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;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 id="i317efcfcfa2247feb83b02c33a05c800_85"></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">(Dollars in thousands, except share data)</span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Forward-Looking Statements</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">This Quarterly Report on Form 10-Q contains &#8220;forward-looking&#8221; statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, and Section 27A of the Securities Act of 1933, as amended. Many of the forward-looking statements provide management's current expectations of future events based on certain assumptions and include any statement that does not directly relate to any historical or current fact. Sentences containing words such as &#8220;believe,&#8221; &#8220;intend,&#8221; &#8220;plan,&#8221; &#8220;may,&#8221; &#8220;expect,&#8221; &#8220;should,&#8221; &#8220;could,&#8221; &#8220;anticipate,&#8221; &#8220;estimate,&#8221; &#8220;predict,&#8221; &#8220;project,&#8221; or their negatives, or other similar expressions of a future or forward-looking nature generally should be considered forward-looking statements. Forward-looking statements in this Quarterly Report on Form 10-Q are based on management's current expectations and assumptions about future events that involve inherent risks and uncertainties and may concern, among other things, the Company&#8217;s expectations relating to our strategy, goals, projections, valuations and impairments, and plans regarding our financial position, liquidity, capital resources, and results of operations and decisions regarding our strategic growth initiatives, market position, and product development. While the Company considers these expectations and assumptions to be reasonable, they are inherently subject to significant business, economic, competitive, regulatory, and other risks and uncertainties, most of which are difficult to predict and many of which are beyond the Company&#8217;s control. The Company cautions readers that various factors could cause the actual results of the Company to differ materially from those indicated by forward-looking statements. Accordingly, investors should not place undue reliance on forward-looking statements as a prediction of actual results. Among the factors that could cause the actual results to differ materially from those indicated in the forward-looking statements are risks and uncertainties related to: a continuation or worsening of the adverse economic conditions in the markets we serve, including recession, the continued volatility in the prices for oil and gas, tariffs or trade wars, inflation, project delays, and budget shortfalls, or otherwise; the impact of the continued U.S. government shutdown; volatility in the global capital markets, including interest rate fluctuations, which could adversely affect our ability to access the capital markets on terms that are favorable to us; restrictions on our ability to draw on our credit agreement, including as a result of any future inability to comply with restrictive covenants contained therein; a decrease in freight or transit rail traffic; environmental matters and the impact of environmental regulations, including any costs associated with any remediation and monitoring of such matters; the risk of doing business in international markets, including compliance with anti-corruption and bribery laws, foreign currency fluctuations and inflation, global shipping disruptions, the imposition of increased or new tariffs, and trade restrictions or embargoes, or uncertainties relating to the imposition of tariffs; our ability to effectuate our strategy, including cost reduction initiatives, and our ability to effectively integrate acquired businesses or to divest businesses, and to realize anticipated synergies and benefits; costs of and impacts associated with shareholder activism; the timeliness and availability of materials from our major suppliers, as well as the impact on our access to supplies of customer preferences as to the origin of such supplies, such as customers&#8217; concerns about conflict minerals; labor disputes; emerging technologies, including those related to or arising from artificial intelligence, and resultant risks to our business and operations; cybersecurity risks such as data security breaches, malware, ransomware, &#8220;hacking,&#8221; and identity theft, which could disrupt our business and may result in misuse or misappropriation of confidential or proprietary information, and could result in the disruption or damage to our systems, increased costs and losses, or an adverse effect to our reputation, business or financial condition; the continuing effectiveness of our ongoing implementation of an enterprise resource planning system; changes in current accounting estimates and their ultimate outcomes; the adequacy of internal and external sources of funds to meet financing needs, including our ability to negotiate any additional necessary amendments to our credit agreement or the terms of any new credit agreement, the Company&#8217;s ability to manage its working capital requirements and indebtedness; domestic and international taxes, including estimates that may impact taxes; domestic and foreign government regulations, including tariffs; our ability to maintain effective internal controls over financial reporting and disclosure controls and procedures, any change in policy or other change due to the results of the UK&#8217;s 2024 parliamentary election and the U.S. 2024 Presidential election that could affect UK or U.S. business conditions; other geopolitical conditions, including the ongoing conflicts between Russia and Ukraine, conflicts in the Middle East, and increasing tensions between China and Taiwan; a lack of or delay in state or federal funding for infrastructure projects; an increase in manufacturing or material costs, including volatility in steel prices; the loss of future revenues from current customers; any future global health crises, and the related social, regulatory, and economic impacts and the response thereto by the Company, our employees, our customers, and national, state, or local governments, including any governmental travel restrictions; and risks inherent in litigation and the outcome of litigation and product warranty claims. Should one or more of these risks or uncertainties materialize, or should the assumptions underlying the forward-looking statements prove incorrect, actual outcomes could vary materially from those indicated. Significant risks and uncertainties that may affect the operations, performance, and results of the Company&#8217;s business and forward-looking statements include, but are not limited to, those set forth under Item 1A, &#8220;Risk Factors,&#8221; and elsewhere in our Annual Report on Form 10-K for the year ended December 31, 2024, or as updated and/or amended by our other current or periodic filings with the Securities and Exchange Commission.</span></div><div style="margin-bottom:9pt;margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The forward-looking statements in this report are made as of the date of this report and we assume no obligation to update or revise any forward-looking statement, whether as a result of new information, future developments, or otherwise, except as required by the federal securities laws.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_88"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">General Overview and Business Update</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. Foster Company is a global technology solutions provider of products and services for the rail and infrastructure markets. The Company&#8217;s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers' most challenging requirements. The Company is organized and operates in two reporting segments: Rail, Technologies, and Services (&#8220;Rail&#8221;) and Infrastructure Solutions (&#8220;Infrastructure&#8221;).</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Product Line Exits</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During the nine months ended September 30, 2025, the Company announced the discontinuation of its Automation and Materials Handling product line (&#8220;AMH Exit&#8221;) which was reported in the Technology Services and Solutions business unit within the Rail segment. AMH had net sales of $530 and $907 for the three months ended September 30, 2025 and 2024, respectively, and $1,750 and $4,230 for the nine months ended September 30, 2025 and 2024, respectively. The Company expects to complete any remaining customer obligations by the end of 2025. During the nine months ended September 30, 2025, the Company incurred a total of $1,351 in exit costs associated with the AMH Exit, which included $655 in inventory and fixed asset write-downs, $507 in personnel expenses, and $189 in other exit costs. Exit costs of $1,085 were recorded in &#8220;Cost of goods sold&#8221; and $266 were recorded in &#8220;Selling and administrative expenses&#8221; within our Rail segment.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (&#8220;Bridge Exit&#8221;) which was reported in the Steel Products business unit within Infrastructure. The Bedford, PA based operations supporting the product line expects to complete any remaining customer obligations in 2025. The product line had net sales of $94 and $921 for the three months ended September 30, 2025 and 2024, respectively, and $1,093 and $2,888 for the nine months ended September 30, 2025 and 2024, respectively.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations </span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Third Quarter 2025 Compared to Third Quarter 2024</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:63.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">820&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,066&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,758&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,692)</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;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.5&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">23.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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(130) bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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="display:none"/><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 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22,077&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,289&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,212)</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"><div style="padding-left:9pt;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative expenses as a percent of sales</span></div></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16.0&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17.7&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(170) bps</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 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">694&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,146&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(452)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,295&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,323&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">972&#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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5.3&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70 bps</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 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - net</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,254&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,358&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(104)</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other income - net </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(96)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(188)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">92&#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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,137&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,153&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">984&#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 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,812&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(29,745)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">32,557&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,325&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,898&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(31,573)</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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to noncontrolling interest</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(22)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,354&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,905&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(31,551)</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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.40&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.27&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2.87)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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="text-align:justify"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Results Summary</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net sales for the three months ended September 30, 2025 increased $820, or 0.6%, over the prior year quarter. The increase was driven by sales growth in the Infrastructure segment, which improved $2,530, or 4.4%, over the prior year quarter. Partially offsetting these improvements were sales volume declines in the Rail segment which declined $1,710, or 2.2%, from the prior year quarter.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit for the three months ended September 30, 2025 decreased $1,692, or 5.2%, from the prior year quarter. The decline in gross profit was due to the Rail segment which declined $725, or 3.9%, due to lower sales volumes and a decline in gross profit of </span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">$967, or 6.8%, in the Infrastructure segment due to higher manufacturing costs and unfavorable sales mix. Gross profit margins declined 130 basis points to 22.5%.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Selling and administrative expenses for the three months ended September 30, 2025 decreased $2,212, or 9.1%, from the prior year quarter, due primarily to lower personnel costs as a result of the restructuring programs and general administrative spending which decreased $424 and $526, respectively. Selling and administrative expenses for the prior year quarter includes $422 in legal costs associated with a resolved legal matter and $840 in employee-related restructuring costs. Selling and administrative expenses as a percentage of net sales decreased to 16.0% in the current quarter.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net interest expense for the three months ended September 30, 2025 decreased $104 from the prior year quarter. The Company's outstanding debt balance was $58,722 as of September&#160;30, 2025, compared to $68,544 as of September&#160;30, 2024.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s effective income tax rate for the three months ended September&#160;30, 2025 was 39.4%, compared to (483.4)% in the prior year quarter. The Company's effective income tax rate for the three months ended September 30, 2025 differed from the statutory rate of 21% primarily due to the impact of pre-tax losses in the United Kingdom, for which no income tax benefit was recognized due to a valuation allowance.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to the Company for the three months ended September 30, 2025 was $4,354, or $0.40 per diluted share, compared to net income in the prior year quarter of $35,905, or $3.27 per diluted share. The decrease is due primarily to a $30,045 favorable tax valuation allowance adjustment recorded in the prior year quarter. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations - Segment Analysis</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Rail, Technologies, and Services</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:44.455%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,710)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,746&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">18,471&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(725)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">23.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(40)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1.7)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,895&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,933&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">962&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7.6&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">140&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.6&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Rail segment net sales for the three months ended September 30, 2025 decreased $1,710, or 2.2%, from the prior year quarter. The decline was primarily driven by a $2,814, or 5.9%, decline in Rail Products sales volumes, coupled with a decline in Technology Services and Solutions volumes, which declined $661 or 5.3%, due to continued right-sizing of the UK business partially offset by strength in Total Track Monitoring. Also offsetting these declines was an increase of $1,765, or 9.0%, in Global Friction Management.  </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Rail segment gross profit for the three months ended September 30, 2025 decreased $725, or 3.9%, from the prior year quarter, and gross profit margins declined by 40 basis points to 22.8%. The primary driver of this decline was the Technology Services and Solutions business unit which decreased $860 due to lower volumes in the UK business and unfavorable business mix including commercial weakness in the UK. Partially offsetting these declines was an increase in Rail Products gross profit of $167 due to favorable business mix. Global Friction Management margins were down slightly from the prior year quarter.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Rail segment operating income for the three months ended September 30, 2025 increased $962, or 19.5%, from the prior year quarter due primarily to declines in selling and administrative expenses and lower amortization expense.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September 30, 2025, the Rail segment had new orders, net of $86,360, an increase of $33,685 over the prior year quarter, driven by improvement across all business units within the segment. Rail Products and Global Friction Management improved 35.9% and 4.3% over the prior year quarter, respectively. Technology Services and Solutions new orders, net improved $25,048 due to a large, multi-year order received in the UK business. Backlog as of September&#160;30, 2025, was $140,233, a $51,570, or 58.2%, increase over the prior year. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Infrastructure Solutions</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',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:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></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:44.455%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,530&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.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"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13,320&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,287&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(967)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6.8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24.6&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(260)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(10.6)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,147&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,110&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(963)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(18.8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6.9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(190)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(21.6)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Infrastructure segment net sales for the three months ended September 30, 2025, increased $2,530 or 4.4%, over the prior year quarter. The increase was primarily due to the Steel Products business unit which increased $1,946, or 12.7%, due to sales volume growth in the Protective Coatings business. Additionally, Precast Concrete Products net sales increased $584, or 1.4%, over the prior year quarter. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Infrastructure segment gross profit for the three months ended September 30, 2025 decreased $967, or 6.8%, from the prior year quarter. The decline in gross profit was due to the Precast Concrete business unit which declined $2,198 due to unfavorable sales mix and higher manufacturing costs. Gross profit for the three months ended September 30, 2025 includes $557 in costs associated with the startup of the Florida precast facility consistent with the Company's growth strategy. Steel Products gross profit improved $1,231 over the prior year quarter due to higher volumes and favorable business mix. Gross profit margins declined 260 basis points to 22.0% due to the Precast Concrete business.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Infrastructure segment operating income for the three months ended September 30, 2025 was unfavorable by $963, or 18.8%, compared to the prior year quarter due to lower gross profit. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September 30, 2025, Infrastructure had new orders, net of $28,416, a decrease of $14,882, from the prior year quarter due to order cancellations primarily in the Steel Products business unit. Steel Products new orders, net decreased by 148.1% which was partially offset by a 10.8% increase in the Precast Concrete business unit. Backlog as of September&#160;30, 2025, was $107,183, a decrease of $13,159, or 10.9%, from the prior year quarter due to order cancellations in Steel Products offset in part by a $3,988 increase, or 4.9%, in backlog for Precast Concrete.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Corporate</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:44.883%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.354%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.780%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.354%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.780%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.492%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.780%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.492%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.785%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="12" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,162&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,327&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(165)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(12.4)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">839&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(79.1)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">672&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">333&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">98.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(262)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">215&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(477)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(221.9)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expense - net</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,747&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,720&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(973)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(35.8)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Unallocated corporate expense - net for the three months ended September 30, 2025 was $1,747 compared to $2,720 for the three months ended September 30, 2024. Corporate executive management costs decreased from the prior year quarter primarily due to a decrease of $422 in corporate legal costs associated with a resolved legal matter and lower professional service expenditures. </span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_91"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations </span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">First Nine Months</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%;text-decoration:underline"> </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"> 2025 Compared to First Nine Months 2024</span></div><div style="text-align:justify"><span><br/></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:63.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><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="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(22,946)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">82,117&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">89,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(7,330)</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;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21.6&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(60) bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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="display:none"/><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 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">65,411&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">71,977&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6,566)</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 10pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative expenses as a percent of sales</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17.2&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17.9&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(70) bps</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 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(Gain) on sale of former joint venture facility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,477)</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,477&#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 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(830)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,050&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,461&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,411)</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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 10pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income margin</span></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.7&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.3&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(60) bps</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 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,887&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,976&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(89)</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other income - net</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(509)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(525)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16&#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"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,672&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,010&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,338)</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 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,625&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(29,110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">34,735&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,047&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">43,120&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(38,073)</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 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to noncontrolling interest</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(82)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(68)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,129&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">43,188&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(38,059)</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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.47&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.91&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3.44)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Results Summary</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net sales for the nine months ended September 30, 2025 decreased $22,946, or 5.7%, from the prior year period. Rail segment net sales decreased $39,939, or 16.1%, from the prior year period and was offset in part by higher sales in the Infrastructure segment which improved $16,993, or 11.0%, over the prior year period.   </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit for the nine months ended September 30, 2025 decreased $7,330, or 8.2%, from the prior year period and gross profit margins declined 60 basis points to 21.6%. The decline in gross profit was primarily due to lower sales volumes in the Rail segment which declined $10,010 from the prior year period and includes $1,085 of AMH Exit costs. Partially offsetting this decline was gross profit improvement in the Infrastructure segment of $2,680 due to improved volumes offset in part by unfavorable business mix and increased manufacturing costs including $1,633 of costs associated with the start up of our Florida precast facility. Gross profit for the nine months ended September 30, 2024 includes a $815 gain on the sale of ancillary property. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Selling and administrative expenses for the nine months ended September 30, 2025 decreased $6,566, or 9.1%, from the prior year period. The decline was primarily attributed to decreases of $2,202 in personnel costs as a result of our restructuring programs, $1,173 in legal costs, $783 in professional services expenditures, $574 in lower restructuring costs, and reduced travel and insurance costs. Selling and administrative expenses as a percentage of net sales decreased from the prior year period to 17.2%.</span></div><div style="padding-left:2pt"><span><br/></span></div><div style="padding-left:2pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net interest expense decreased $89 for the nine months ended September 30, 2025 compared to the prior year period. The Company's outstanding debt balance was $58,722 as of September&#160;30, 2025, compared to $68,544 as of September&#160;30, 2024.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s effective income tax rate for the nine months ended September 30, 2025 was 52.7%, compared to (207.8)% in the prior year period. The Company's effective income tax rate for the nine months ended September 30, 2025 differed from the statutory rate of 21% primarily due to the impact of pre-tax losses in the United Kingdom for which no income tax benefit was recognized due to a valuation allowance. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to the Company for the nine months ended September 30, 2025 was $5,129, or $0.47 per diluted share, compared to net income in the prior year period of $43,188, or $3.91 per diluted share. Net income for the nine months ended September 30, 2024 included an income tax benefit of $29,110 associated with a favorable tax valuation adjustment and a $3,477 gain </span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">on the sale of a former joint venture facility in Magnolia, Texas. The decrease in net income was also impacted by lower gross profit for the nine months ended September 30, 2025 partially offset by reductions in selling and administrative expenses and amortization expense.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations - Segment Analysis</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Rail, Technologies, and Services</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:44.455%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(39,939)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(16.1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">44,907&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">54,917&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(10,010)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(18.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21.6&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2.7)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating  income</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,786&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,212&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(7,426)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(43.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.7&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6.9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(220)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(31.9)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Rail segment net sales for the nine months ended September 30, 2025 decreased $39,939, or 16.1 %, from the prior year period. The decrease was primarily due to the decline in the Rail Products business unit which declined $35,286, or 22.5%, due to the timing of large orders in the Rail Distribution product line. Technology Services and Solutions net sales decreased $10,952, or 27.4%, due to the Company scaling back initiatives in the United Kingdom. Global Friction Management net sales improved $6,299, or 12.3%, due to improved demand in domestic markets served. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Rail segment gross profit for the nine months ended September 30, 2025 decreased $10,010, or 18.2%, from the prior year period, and gross profit margins declined 60 basis points to 21.6%. The Rail Products and Technology Services and Solutions business units gross profit declined $5,862 and $6,901, respectively, due to lower volumes and unfavorable business mix. The Technology Services and Solutions business unit gross profit decline was due in part to $1,085 of restructuring costs associated with the AMH Exit. Partially offsetting these declines was an improvement in the Global Friction Management gross profit of $2,753 due to higher volumes. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Rail segment operating income for the nine months ended September 30, 2025 decreased $7,426, or 43.1%, from the prior year period. The decrease was driven by a decline in gross profit associated with lower sales volumes partially offset by decreases in selling and administrative expenses and amortization expense of $1,834 and $750, respectively.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 30, 2025, new orders, net were $283,956, an increase of $30,544 from the prior year period. The increase was due to a 68.2% improvement in the Technology Services and Solutions business unit due to a large, multi-year order received in the UK business, a 6.2% improvement in the Global Friction Management business unit, and a 5.6% improvement in Rail Products business unit.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Infrastructure Solutions</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:44.455%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.816%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16,993&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">37,210&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">34,530&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,680&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21.7&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">22.3&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2.7)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,469&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,345&#160;</span></td><td style="background-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,124&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income margin</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6.1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.7&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">140&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">bps</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">29.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Infrastructure segment net sales for the nine months ended September 30, 2025 increased $16,993, or 11.0%, over the prior year period. The increase in net sales was attributable to the Precast Concrete Products business unit which increased $19,920, or 20.4%, over the prior year period which was partially offset by the Steel Products business unit which decreased $2,927, or 5.1%, from the prior year period due to declines in the bridge forms product line and the Bridge Exit.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Infrastructure segment gross profit for the nine months ended September 30, 2025 increased $2,680, or 7.8%, due to gross profit increases in both business units. Gross profit increased by $1,836, in the Precast Concrete business unit due primarily to higher sales volumes offset in part by higher manufacturing costs including $1,633 of costs associated with the start up of our Florida precast facility in line with the Company's strategic growth plan. Steel Products gross profit improved $844, over the prior year quarter due to favorable business mix and benefits associated with the Bridge Exit. Gross profit margins of 21.7% decreased 60 basis points from the </span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">prior year period due to unfavorable sales mix and higher manufacturing costs in the Precast Concrete business. Gross profit for the nine months ended September 30, 2024 includes the $815 gain on sale of ancillary property. </span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Infrastructure segment operating income for the nine months ended September 30, 2025 was favorable $3,124, or 42.5%, compared to the prior year period due to improvements in gross profit and a decrease in selling and administrative expenses.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 30, 2025, the Infrastructure segment had new orders, net of $155,639, an increase of $9,700, over the prior year period. The increase is due to the Precast Concrete Products business unit which increased 19.7% over the prior year period. Partially offsetting this increase was a decrease in the Steel Products business unit of 24.8% from the prior year period due to order cancellations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Corporate</span></div><div style="text-align:justify"><span><br/></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:44.883%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.354%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.780%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.354%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.780%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.492%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.780%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.492%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.785%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="12" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Change</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025 vs. 2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(Gain) on sale of former joint venture facility </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,477)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,477&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(100.0)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,633&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,167&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(534)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(12.8)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,123&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">4,131&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,008)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(72.8)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,711&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,818&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(107)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(5.9)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(262)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">457&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(719)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">(157.3)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expense - net</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,205&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,096&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(891)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(12.6)</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"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Unallocated corporate expense - net for the nine months ended September 30, 2025 was $6,205 compared to the nine months ended September 30, 2024 which was $7,096. The decrease was primarily due to a decline in corporate executive management costs of $3,008 due to a decrease in legal fees, professional service expenditures, and travel and insurance costs. This decline was offset in part by the $3,477 gain on the sale of the former joint venture facility in Magnolia, Texas in the nine months ended September 30, 2024.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s principal sources of liquidity are its existing cash and cash equivalents, cash generated by operations, and the available capacity under the revolving credit facility. The revolving credit facility provides for a total commitment of up to $150,000, of which $91,108 was available for borrowing as of September&#160;30, 2025, subject to covenant restrictions. The Company&#8217;s primary needs for liquidity relate to working capital requirements for operations, capital expenditures, debt service obligations, tax obligations, outstanding purchase obligations, acquisitions, restructuring payments, and to support the share repurchase program. The Company&#8217;s total debt, including finance leases, was $58,722 and $46,940 as of September&#160;30, 2025 and December&#160;31, 2024, respectively, and was primarily comprised of borrowings under its revolving credit facility.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table reflects available funding capacity as of September&#160;30, 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:75.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30, 2025</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:'Times New Roman',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 colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding: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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,428&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Credit agreement:</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"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total availability under the credit agreement</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">150,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding borrowings 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(58,122)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Letters of credit outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(770)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net availability under the revolving credit facility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">91,108&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total available funding capacity</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 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">94,536&#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><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of September&#160;30, 2025, we were in compliance with all covenants of the Credit Agreement and have $94,536 available funding capacity, subject to covenant restrictions.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s operating cash flows are impacted from period to period by fluctuations in working capital needs, as well as its overall profitability. While the Company places an emphasis on working capital management in its operations, factors such as its business mix, commercial terms, and market conditions as well as seasonality may impact its working capital. The Company regularly assesses its receivables and contract assets for collectability and realization, and provides allowances for credit losses where appropriate. The Company believes that its reserves for credit losses are appropriate as of September&#160;30, 2025, but adverse changes in the economic </span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">environment and adverse financial conditions of its customers may impact certain of its customers&#8217; ability to access capital and compensate the Company for its products and services, as well as impact demand for its products and services.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The changes in cash and cash equivalents for the nine months ended September&#160;30, 2025 and 2024 were as follows:</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:75.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.494%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by (used in) operating activities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13,447&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,653)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in investing activities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(8,004)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,953)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,628)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',serif;font-size:10pt;font-weight:400;line-height:100%">6,420&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Effect of exchange rate changes on cash and cash equivalents</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(239)</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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net increase in cash and cash equivalents</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">974&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">575&#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><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Cash Flow from Operating Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During the nine months ended September 30, 2025, net cash provided by operating activities was $13,447, compared to cash used in operating activities of $1,653 during the prior year period. For the nine months ended September 30, 2025, net income and adjustments to reconcile net income from operating activities provided $23,380, compared to $22,264 in the prior year period. Working capital and other assets and liabilities were a use of $9,933 in the current period, compared to a use of $23,917 in the prior year period. The increase in operating cash flow for the nine months ended September 30, 2025 compared to the prior year period was largely driven by lower working capital needs associated with the lower Rail volumes. Changes in payment timing can impact accounts receivable in any given quarter due to the seasonality of our businesses.</span></div><div style="margin-bottom:3pt;text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Cash Flow from Investing Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Capital expenditures for the nine months ended September 30, 2025 and 2024 were $8,057 and $7,834, respectively. Capital expenditures in both periods primarily relate to general plant and operational improvements throughout the Company, as well as organic growth initiatives including investments in our new Precast Concrete facility in Lake County, Florida. During the nine months ended September 30, 2024, the Company divested the facility and land of its former joint venture in Magnolia, Texas and the fixed assets associated with the Bridge Exit generating a cash inflow of $3,881. </span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Cash Flow from Financing Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During the nine months ended September 30, 2025 the Company had an increase in outstanding debt of $9,963 compared to a $12,162 increase during the nine months ended September 30, 2024. Additionally, debt issuance costs of $706 were incurred during the nine months ended September 30, 2025 related to the June 27, 2025 Fifth Amended and Restated Credit Agreement. During the nine months ended September 30, 2025, the Company also made a $782 deferred payment related to the June 2022 acquisition of Skratch Enterprises Ltd. This payment was deferred at the date of the acquisition in accordance with the purchase agreement and was made during the second quarter of 2025. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Board of Directors previously authorized the repurchase of up to $15,000 of the Company&#8217;s common shares until February 2025, pursuant to the terms of the previously disclosed stock repurchase program adopted March 3, 2023, as amended August 5, 2024. During the first quarter of 2025, the Company repurchased 113,169 shares for $3,123 under this program through February 2025. Since the program's inception and continuing through February 2025, the Company repurchased a total of 547,679 shares of its stock for $12,241 under the program. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On March 3, 2025, the Company's Board of Directors approved a new authorization to repurchase up to $40,000 of the Company's common stock in open market transactions and/or 10b5-1 trading plans through February 29, 2028. As of September&#160;30, 2025, the Company repurchased 347,905 shares of its stock for $8,035 under this program.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Under both programs, the Company repurchased a total of 461,074 shares for $11,158 during the nine months ended September 30, 2025. From February 2023 through September&#160;30, 2025, the Company repurchased a total of 895,584 shares of its stock for $20,276 under both programs.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Repurchases of shares of the Company&#8217;s common stock may be made from time to time in the open market or in such other manner as determined by the Company. The timing of the repurchases and the actual amount repurchased will depend on a variety of factors, including the market price of the Company&#8217;s shares, general market and economic conditions, and other factors. The stock repurchase program does not obligate the Company to acquire any particular amount of common stock and may be suspended or discontinued at any time.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_97"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Financial Condition</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of September&#160;30, 2025, the Company had $3,428 in cash and cash equivalents and $91,108 of availability under its revolving credit facility, subject to covenant restrictions. As of September&#160;30, 2025, approximately $3,018 of the Company&#8217;s cash and cash equivalents were held in non-domestic bank accounts.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s principal uses of cash in recent years have been to fund its operations, including capital expenditures, repurchase of shares, acquisitions, funding the now complete UPRR Settlement Agreement, and service indebtedness. The Company views its short and long-term liquidity as being dependent on its results of operations, changes in working capital needs, and its borrowing capacity. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;27, 2025, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#8220;Borrowers&#8221;), entered into the Fifth Amended and Restated Credit Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a participant. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, which had a maximum credit line of $130,000 and extends the maturity date from August 13, 2026 to June&#160;27, 2030. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $150,000 with sublimits for (a) the issuance of Letters of Credit in Dollars and in Alternative Currencies in an amount not to exceed the Dollar Equivalent of $30,000, and (b) borrowings of Swing Loans in Dollars in an amount not to exceed $20,000; and with an incremental loan feature not to exceed $60,000. For a discussion of the terms and availability of the credit facilities, please refer to Note 7 of the Notes to Condensed Consolidated Financial Statements contained in this Quarterly Report on Form 10-Q.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company entered into SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000, effective August&#160;12, 2022 and August&#160;31, 2022, respectively, at which point the agreements effectively converted a portion of the debt from variable to fixed-rate borrowings during the term of the swap contract. The August 12, 2022 interest rate swap expired on March 1, 2025. The August 31, 2022 interest rate swap expires on August 13, 2026.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Backlog</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Although backlog is not necessarily indicative of future operating results, the following table provides the backlog by segment:</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:63.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.013%"/><td style="width:0.1%"/></tr><tr><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Backlog</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<br/>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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">140,233&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">62,449&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">88,663&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">107,183&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">123,460&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">120,342&#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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total backlog </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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,416&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">185,909&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">209,005&#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><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">While a considerable portion of the Company&#8217;s business is backlog driven, certain businesses, including the Global Friction Management business unit, are not driven by backlog and therefore have lower levels of backlog throughout the year. Backlog increased by $38,411 over the prior year period due primarily to increases throughout the Rail segment. </span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Estimates</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Condensed Consolidated Financial Statements have been prepared in conformity with US GAAP.  The preparation of the Condensed Consolidated Financial Statements requires management to make estimates and judgments that affect the reported amount of assets, liabilities, revenues, and expenses, and the related disclosure of contingent assets and liabilities. As a result, actual results could differ from these estimates. The Company has concluded that there have been no significant changes to its critical accounting policies or estimates as described in its Annual Report on Form 10-K for the year ended December&#160;31, 2024.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Non-GAAP Financial Measures</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with SEC rules, the Company provides descriptions of the non-GAAP financial measures included in this filing and reconciliations to the most closely related GAAP financial measures. The Company believes that these measures provide useful perspective on underlying business trends and results and a supplemental measure of year-over-year results. The non-GAAP financial measures described below are used by management in making operating decisions, allocating financial resources and for business strategy purposes and may, therefore, also be useful to investors as they are a view of our business results through the eyes of management. These non-GAAP financial measures are not intended to be considered by the user in place of the related GAAP financial measure, but rather as supplemental information to our business results. These non-GAAP financial measures may not be the same as similar measures used by other companies due to possible differences in method and in the items or events being adjusted.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company defines new orders, net as a contractual agreement between the Company and a third-party in which the Company will, or has the ability to, satisfy the performance obligations of the promised products or services under the terms of the agreement net of order cancellations incurred during the period. The Company defines backlog as contractual commitments to customers for which the </span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8217;s performance obligations have not been met, including with respect to new orders and contracts for which the Company has not begun any performance. Management utilizes new orders, net and backlog to evaluate the health of the industries in which the Company operates, the Company&#8217;s current and future results of operations and financial prospects, and strategies for business development. The Company believes that new orders, net and backlog are useful to investors as supplemental metrics by which to measure the Company&#8217;s current performance and prospective results of operations and financial performance.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Non-GAAP&#160;financial measures are not a substitute for GAAP financial results and should only be considered in conjunction with the Company&#8217;s financial information that is presented in accordance with GAAP.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_100"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Quantitative and Qualitative Disclosures about Market Risk</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">This item is not applicable to a smaller reporting company.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_103"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Controls and Procedures</span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">L.B. Foster Company carried out an evaluation, under the supervision and with the participation of the Company&#8217;s management, including the Chief Executive Officer and the Chief Financial Officer, of the effectiveness of the design and operation of the Company&#8217;s disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended) as of September&#160;30, 2025, the end of the period covered by this report. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that the Company&#8217;s disclosure controls and procedures were effective as of such date to provide reasonable assurance that the information required to be disclosed by the Company in reports filed under the Exchange Act is (i)&#160;recorded, processed, summarized, and reported within the time periods specified in the SEC&#8217;s rules and forms and (ii)&#160;accumulated and communicated to management, including the Chief Executive Officer, Chief Financial Officer, or person performing such functions, as appropriate to allow timely decisions regarding disclosure.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Changes in Internal Control Over Financial Reporting</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes to our &#8220;internal control over financial reporting&#8221; (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the quarter ended September&#160;30, 2025.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Limitations on Effectiveness of Controls and Procedures</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In designing and evaluating disclosure controls and procedures and internal control over financial reporting, management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives. In addition, the design of disclosure controls and procedures and internal control over financial reporting must reflect the fact that there are resource constraints and that management is required to apply judgment in evaluating the benefits of possible controls and procedures relative to their costs.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_106"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">PART II. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">OTHER INFORMATION</span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">(Dollars in thousands, except share data)</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_109"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Legal Proceedings</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">See Note 13 of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, which is incorporated herein by reference.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_112"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1A. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Risk Factors</span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">This item is not applicable to a smaller reporting company.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_115"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;2. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Unregistered Sales of Equity Securities and Use of Proceeds</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Board of Directors previously authorized the repurchase of up to $15,000 of the Company&#8217;s common shares until February 2025, pursuant to the terms of the previously disclosed stock repurchase program adopted March 3, 2023, as amended August 5, 2024. On March 3, 2025, the Company's Board of Directors authorized the repurchase of up to $40,000 of the Company's common stock in open market transactions and/or 10b5-1 trading plans through February 29, 2028. Repurchases of shares of the Company&#8217;s common stock may be made from time to time in the open market or in such other manner as determined by the Company. The timing of the repurchases and the actual amount repurchased will depend on a variety of factors, including the market price of the Company&#8217;s shares, general market and economic conditions, and other factors. The stock repurchase program does not obligate the Company to acquire any particular amount of common stock and may be suspended or discontinued at any time.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s purchases of equity securities for the three months ended September 30, 2025 were as follows:</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:41.122%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.355%"/><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.355%"/><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.355%"/><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.355%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.794%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total number of shares purchased (a)</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Average price paid per share</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total number of shares purchased as part of publicly announced plans or programs</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Approximate dollar value of shares that may yet be purchased under the plans or programs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">July 1, 2025 - July 31, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">40,700</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">23.98&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">40,700</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,708&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">August 1, 2025 - August 31, 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,777&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24.16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,777&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">34,312&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">September 1, 2025 - September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">85,666</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">27.41&#160;</span></td><td style="background-color:#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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">85,666</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,965&#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:'Times New Roman',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="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">184,143</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">25.63&#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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">184,143</span></td><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,965&#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><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%">(a) During the current period, 0 shares were withheld by the Company to pay taxes upon vesting of stock.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_118"></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Defaults Upon Senior Securities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_121"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Mine Safety Disclosures</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">This item is not applicable to the Company.</span></div><div id="i317efcfcfa2247feb83b02c33a05c800_124"></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;5. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Other Information</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Trading Arrangements</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">None of the Company&#8217;s directors or &#8220;officers,&#8221; as defined in Rule 16a-1(f) of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), <ix:nonNumeric contextRef="c-13" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-false" id="f-1021"><ix:nonNumeric contextRef="c-13" name="ecd:NonRule10b51ArrAdoptedFlag" format="ixt:fixed-false" id="f-1022">adopted</ix:nonNumeric></ix:nonNumeric>, modified, or <ix:nonNumeric contextRef="c-13" name="ecd:NonRule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-1023"><ix:nonNumeric contextRef="c-13" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-1024">terminated</ix:nonNumeric></ix:nonNumeric> a &#8220;Rule 10b5-1 trading arrangement&#8221; or a &#8220;non-Rule 10b5-1 trading arrangement,&#8221; as each term is defined in Item 408 of Regulation S-K, during the Company&#8217;s fiscal quarter ended September&#160;30, 2025.</span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_127"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="-sec-extract:summary;text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="-sec-extract:summary;margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;6. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Exhibits</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">See Exhibit Index below.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Exhibit Index</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:10.427%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.772%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.401%"/><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:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration:underline">Exhibit&#160;Number</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration:underline">Description</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*31.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-311q32025.htm">Certification of Chief Executive Officer under Section&#160;302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*31.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-312q32025.htm">Certification of Chief Financial Officer under Section&#160;302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*32.0</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-320q32025.htm">Certification of Chief Executive Officer and Chief Financial Officer under Section&#160;906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*101.INS</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Instance Document-the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*101.SCH</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Schema Document.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*101.CAL</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Calculation Linkbase Document.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*101.DEF</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Definition Linkbase Document.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*101.LAB</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Label Linkbase Document.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*101.PRE</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Presentation Linkbase Document.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*104</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (formatted as inline XBRL and contained in Exhibit 101)</span></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.500%"><tr><td style="width:1.0%"/><td style="width:9.013%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:88.787%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Exhibits marked with an asterisk are filed herewith.</span></div></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="height:36pt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><div id="i317efcfcfa2247feb83b02c33a05c800_130"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i317efcfcfa2247feb83b02c33a05c800_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURE</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',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:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><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:4.038%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.455%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:47.372%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:29.735%"/><td style="width:0.1%"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">L.B. FOSTER COMPANY</span></td></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:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(Registrant)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">November 3, 2025</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">By: /s/ William M. Thalman</span></td></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:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">William M. Thalman</span></td></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:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Executive Vice President</span></td></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:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">and Chief Financial Officer</span></td></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:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(Duly Authorized Officer of Registrant)</span></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex-311q32025.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="id1da679cd5d247c386b400897185a618_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.1</font></div></div><div style="margin-top:18pt;text-align:center;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Certification under Section&#160;302 of the</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Sarbanes-Oxley Act of 2002</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">I, John F. Kasel, certify that&#58;</font></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed this Quarterly Report on Form 10-Q of L.B. Foster Company&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d&#8211;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:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(c) 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:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(d) 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:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(b) 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="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font><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:4.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.574%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">November 3, 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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">&#160;&#47;s&#47; John F. Kasel</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Name&#58; John F. Kasel</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Title&#58; President and Chief Executive Officer</font></td></tr></table></div><div><font><br></font></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex-312q32025.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="id08f4cae6b964f49b938c2c3e0a4fde2_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.2</font></div></div><div style="margin-top:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Certification under Section&#160;302 of the</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Sarbanes-Oxley Act of 2002</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">I, William M. Thalman, certify that&#58;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed this Quarterly Report on Form 10-Q of L.B. Foster Company&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d&#8211;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:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(c) 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:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(d) 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:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(b) 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:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font><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:4.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.438%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.579%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">November 3, 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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">&#160;&#47;s&#47; William M. Thalman</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Name&#58; William M. Thalman</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Title&#58; Executive Vice President</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">and Chief Financial Officer</font></td></tr></table></div><div><font><br></font></div><div style="height:36pt;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.0
<SEQUENCE>4
<FILENAME>ex-320q32025.htm
<DESCRIPTION>EX-32.0
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="iaa095f6208944633a792d6c0248f5894_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.0</font></div></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATE PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Quarterly Report of L.B. Foster Company (the &#8220;Company&#8221;) on Form 10-Q for the period ended September&#160;30, 2025, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), the undersigned certify pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002 that&#58;</font></div><div style="padding-left:30pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934&#59; and</font></div><div style="padding-left:30pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The information contained in this Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div><font><br></font></div><div><font><br></font></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:4.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.427%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">November 3, 2025</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">&#160;&#47;s&#47; John F. Kasel</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Name&#58; John F. Kasel</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Title&#58; President and Chief Executive Officer</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font><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:4.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.427%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">November 3, 2025</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">&#160;&#47;s&#47; William M. Thalman</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Name&#58; William M. Thalman</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Title&#58; Executive Vice President</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:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">and Chief Financial Officer</font></td></tr></table></div><div><font><br></font></div><div style="height:36pt;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>5
<FILENAME>fstr-20250930.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:7d5ac89a-83a2-47ec-b376-138d8c6e27e5,g:618b3232-2c41-4f96-88c5-426a8015ae6c-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:fstr="http://www.lbfoster.com/20250930" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2024-01-31" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.lbfoster.com/20250930">
  <xs:import namespace="http://fasb.org/srt/2025" schemaLocation="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2025" schemaLocation="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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/2024-01-31" schemaLocation="https://www.xbrl.org/dtr/type/2024-01-31/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2025" schemaLocation="https://xbrl.sec.gov/country/2025/country-2025.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2025" schemaLocation="https://xbrl.sec.gov/dei/2025/dei-2025.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2025" schemaLocation="https://xbrl.sec.gov/ecd/2025/ecd-2025.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="fstr-20250930_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="fstr-20250930_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="fstr-20250930_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="fstr-20250930_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.lbfoster.com/role/Cover">
        <link:definition>0000001 - Document - Cover</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="CONDENSEDCONSOLIDATEDBALANCESHEETS" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS">
        <link:definition>9952151 - Statement - CONDENSED 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="CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical">
        <link:definition>9952152 - Statement - CONDENSED 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="CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS">
        <link:definition>9952153 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME">
        <link:definition>9952154 - Statement - CONDENSED 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="CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical">
        <link:definition>9952155 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (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="CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS">
        <link:definition>9952156 - Statement - CONDENSED 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="CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY">
        <link:definition>9952157 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; 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="CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical" roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical">
        <link:definition>9952158 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentation" roleURI="http://www.lbfoster.com/role/BasisofPresentation">
        <link:definition>9952159 - 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="BusinessSegments" roleURI="http://www.lbfoster.com/role/BusinessSegments">
        <link:definition>9952160 - Disclosure - Business Segments</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.lbfoster.com/role/Revenue">
        <link:definition>9952161 - 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="GoodwillandOtherIntangibleAssets" roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets">
        <link:definition>9952162 - Disclosure - Goodwill and Other 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="AccountsReceivable" roleURI="http://www.lbfoster.com/role/AccountsReceivable">
        <link:definition>9952163 - Disclosure - Accounts Receivable</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventory" roleURI="http://www.lbfoster.com/role/Inventory">
        <link:definition>9952164 - Disclosure - Inventory</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="LongTermDebtandRelatedMatters" roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMatters">
        <link:definition>9952165 - Disclosure - Long-Term Debt and Related Matters</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="EarningsPerCommonShare" roleURI="http://www.lbfoster.com/role/EarningsPerCommonShare">
        <link:definition>9952166 - Disclosure - Earnings Per Common 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="IncomeTaxes" roleURI="http://www.lbfoster.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="StockBasedCompensation" roleURI="http://www.lbfoster.com/role/StockBasedCompensation">
        <link:definition>9952168 - Disclosure - Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurements" roleURI="http://www.lbfoster.com/role/FairValueMeasurements">
        <link:definition>9952169 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlans" roleURI="http://www.lbfoster.com/role/RetirementPlans">
        <link:definition>9952170 - Disclosure - Retirement Plans</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="CommitmentsandContingentLiabilities" roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilities">
        <link:definition>9952171 - Disclosure - Commitments and Contingent Liabilities</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.lbfoster.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="BusinessSegmentsTables" roleURI="http://www.lbfoster.com/role/BusinessSegmentsTables">
        <link:definition>9955512 - Disclosure - Business Segments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueTables" roleURI="http://www.lbfoster.com/role/RevenueTables">
        <link:definition>9955513 - Disclosure - Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandOtherIntangibleAssetsTables" roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables">
        <link:definition>9955514 - Disclosure - Goodwill and Other 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="AccountsReceivableTables" roleURI="http://www.lbfoster.com/role/AccountsReceivableTables">
        <link:definition>9955515 - Disclosure - Accounts Receivable (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoryTables" roleURI="http://www.lbfoster.com/role/InventoryTables">
        <link:definition>9955516 - Disclosure - Inventory (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="LongTermDebtandRelatedMattersTables" roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables">
        <link:definition>9955517 - Disclosure - Long-Term Debt and Related Matters (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="EarningsPerCommonShareTables" roleURI="http://www.lbfoster.com/role/EarningsPerCommonShareTables">
        <link:definition>9955518 - Disclosure - Earnings Per Common 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="StockBasedCompensationTables" roleURI="http://www.lbfoster.com/role/StockBasedCompensationTables">
        <link:definition>9955519 - Disclosure - Stock-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="FairValueMeasurementsTables" roleURI="http://www.lbfoster.com/role/FairValueMeasurementsTables">
        <link:definition>9955520 - Disclosure - Fair Value Measurements (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="RetirementPlansTables" roleURI="http://www.lbfoster.com/role/RetirementPlansTables">
        <link:definition>9955521 - Disclosure - Retirement Plans (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="BusinessSegmentsNarrativeDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails">
        <link:definition>9955522 - Disclosure - Business Segments - 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="BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails">
        <link:definition>9955523 - Disclosure - Business Segments - Schedule of Reconciliation of Operating Income to Income Before Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessSegmentsScheduleofAssetReportableSegmentDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails">
        <link:definition>9955524 - Disclosure - Business Segments - Schedule of Asset Reportable 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="BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails">
        <link:definition>9955525 - Disclosure - Business Segments - Schedule of Reconciliation of the Restructuring Liability (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="RevenueScheduleofSalesbyMajorProductLineDetails" roleURI="http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails">
        <link:definition>9955526 - Disclosure - Revenue - Schedule of Sales by Major Product Line (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="RevenueScheduleofTimingofTransferDetails" roleURI="http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails">
        <link:definition>9955527 - Disclosure - Revenue - Schedule of Timing of Transfer (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.lbfoster.com/role/RevenueNarrativeDetails">
        <link:definition>9955528 - 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="RevenueScheduleofOverTimeSalesDetails" roleURI="http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails">
        <link:definition>9955529 - Disclosure - Revenue - Schedule of Over Time Sales (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="RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails" roleURI="http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails">
        <link:definition>9955530 - Disclosure - Revenue - Schedule of Contract with Customer, Contract Asset, Contract Liability (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="RevenueRemainingPerformanceObligationDetails" roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails">
        <link:definition>9955531 - Disclosure - Revenue - Remaining Performance Obligation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRemainingPerformanceObligationDetails_1" roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1">
        <link:definition>9955531 - Disclosure - Revenue - Remaining Performance Obligation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails">
        <link:definition>9955532 - Disclosure - Goodwill and Other Intangible Assets - Schedule 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="GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails">
        <link:definition>9955533 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (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="AccountsReceivableNarrativeDetails" roleURI="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails">
        <link:definition>9955534 - Disclosure - Accounts Receivable - 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="AccountsReceivableAllowanceforCreditLossesDetails" roleURI="http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails">
        <link:definition>9955535 - Disclosure - 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="InventoryDetails" roleURI="http://www.lbfoster.com/role/InventoryDetails">
        <link:definition>9955536 - Disclosure - Inventory (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails">
        <link:definition>9955537 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (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="LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1" roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1">
        <link:definition>9955537 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (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="LongTermDebtandRelatedMattersNarrativeDetails" roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails">
        <link:definition>9955538 - Disclosure - Long-Term Debt and Related Matters - 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="EarningsPerCommonShareDetails" roleURI="http://www.lbfoster.com/role/EarningsPerCommonShareDetails">
        <link:definition>9955539 - Disclosure - Earnings Per Common 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="IncomeTaxesDetails" roleURI="http://www.lbfoster.com/role/IncomeTaxesDetails">
        <link:definition>9955540 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationNarrativeDetails" roleURI="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails">
        <link:definition>9955541 - Disclosure - Stock-Based Compensation - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" roleURI="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails">
        <link:definition>9955542 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsNarrativeDetails" roleURI="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails">
        <link:definition>9955543 - Disclosure - Fair Value Measurements - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails">
        <link:definition>9955544 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (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="RetirementPlansNarrativeDetails" roleURI="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails">
        <link:definition>9955545 - Disclosure - Retirement Plans - 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="RetirementPlansScheduleofNetBenefitCostsDetails" roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails">
        <link:definition>9955546 - Disclosure - Retirement Plans - Schedule of Net Benefit Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlansScheduleofCostsofRetirementPlansDetails" roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails">
        <link:definition>9955547 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingentLiabilitiesDetails" roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails">
        <link:definition>9955548 - Disclosure - Commitments and Contingent Liabilities (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="fstr_EquityLossIncomeAndRemeasurementGain" abstract="false" name="EquityLossIncomeAndRemeasurementGain" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_IncreaseDecreaseInAccruedSettlement" abstract="false" name="IncreaseDecreaseInAccruedSettlement" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" abstract="false" name="ScheduleOfRevenuesByMajorProductLineTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="fstr_CorporateAndReconcilingItemsMember" abstract="true" name="CorporateAndReconcilingItemsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_BridgeGridDeckProductMember" abstract="true" name="BridgeGridDeckProductMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_SkratchEnterprisesLtdMember" abstract="true" name="SkratchEnterprisesLtdMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_August2024RestructuringMember" abstract="true" name="August2024RestructuringMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_AutomationAndMaterialsHandlingMember" abstract="true" name="AutomationAndMaterialsHandlingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_AutomationAndMaterialsHandlingLineMember" abstract="true" name="AutomationAndMaterialsHandlingLineMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" abstract="false" name="BusinessCombinationPaymentOfDeferredConsiderationTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fstr_InventoryAndFixedAssetWriteDown" abstract="false" name="InventoryAndFixedAssetWriteDown" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_PersonnelExpenses" abstract="false" name="PersonnelExpenses" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_OtherExitCosts" abstract="false" name="OtherExitCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_RailTechnologiesAndServicesSegmentMember" abstract="true" name="RailTechnologiesAndServicesSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_InfrastructureSolutionsSegmentMember" abstract="true" name="InfrastructureSolutionsSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_PurchasedServicesExpense" abstract="false" name="PurchasedServicesExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_PublicCompanyCosts" abstract="false" name="PublicCompanyCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_CorporateExecutiveManagementCosts" abstract="false" name="CorporateExecutiveManagementCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_CorporateManagementStockBasedCompensation" abstract="false" name="CorporateManagementStockBasedCompensation" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_OtherCorporateCharges" abstract="false" name="OtherCorporateCharges" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_RailProductsMember" abstract="true" name="RailProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_GlobalFrictionManagementMember" abstract="true" name="GlobalFrictionManagementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_RailTechnologiesProductsMember" abstract="true" name="RailTechnologiesProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_PrecastConcreteProductsSegmentMember" abstract="true" name="PrecastConcreteProductsSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_SteelProductsSegmentMember" abstract="true" name="SteelProductsSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_OverTimeInputMethodMember" abstract="true" name="OverTimeInputMethodMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_OverTimeOutputMethodMember" abstract="true" name="OverTimeOutputMethodMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_OverTimeSalesAmount" abstract="false" name="OverTimeSalesAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_OverTimeSalesPercent" abstract="false" name="OverTimeSalesPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" abstract="true" name="ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" abstract="false" name="ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_ContractWithCustomerLiabilityRollForward" abstract="true" name="ContractWithCustomerLiabilityRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" abstract="false" name="ContractWithCustomerLiabilityIncreaseFromCashReceipts" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" abstract="true" name="PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_SwingLoanMember" abstract="true" name="SwingLoanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_IncrementalLoansMember" abstract="true" name="IncrementalLoansMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_FifthAmendedAndRestatedCreditAgreementMember" abstract="true" name="FifthAmendedAndRestatedCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_OvernightBankFundingRateMember" abstract="true" name="OvernightBankFundingRateMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_DailySimpleSOFRMember" abstract="true" name="DailySimpleSOFRMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_DebtInstrumentNumberOfFinancialCovenants" abstract="false" name="DebtInstrumentNumberOfFinancialCovenants" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_DebtInstrumentCovenantLeverageRatioMaximum" abstract="false" name="DebtInstrumentCovenantLeverageRatioMaximum" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" abstract="false" name="DebtInstrumentCovenantInterestCoverageRatioMinimum" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="fstr_OmnibusPlanAndEquityAndIncentivePlanMember" abstract="true" name="OmnibusPlanAndEquityAndIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_Swap2Member" abstract="true" name="Swap2Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_NumberOfDefinedContributionPlans" abstract="false" name="NumberOfDefinedContributionPlans" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_UPRRMember" abstract="false" name="UPRRMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" abstract="false" name="LitigationSettlementAmountAwardedToOtherPartyCurrent" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" abstract="false" name="LitigationSettlementAmountAwardedToOtherPartyNonCurrent" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_LitigationSettlementInstallmentPaymentTerm" abstract="false" name="LitigationSettlementInstallmentPaymentTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" abstract="false" name="NumberOfCompaniesReceivingGeneralNoticeLetter" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_PresentValueOfProposedRemedialWork" abstract="false" name="PresentValueOfProposedRemedialWork" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_UndiscoveredRemedialWork" abstract="false" name="UndiscoveredRemedialWork" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_RemedialWorkAnticipatedCleanUpPeriod" abstract="false" name="RemedialWorkAnticipatedCleanUpPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" abstract="false" name="NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_NumberOfPartiesRequiredToPerformRemedialWork" abstract="false" name="NumberOfPartiesRequiredToPerformRemedialWork" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>fstr-20250930_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:7d5ac89a-83a2-47ec-b376-138d8c6e27e5,g:618b3232-2c41-4f96-88c5-426a8015ae6c-->
<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.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_86eeb64c-d5cc-4f78-9aa9-91bc21b60a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_3d308805-6371-4653-b8ed-2c1b09785524" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_86eeb64c-d5cc-4f78-9aa9-91bc21b60a0d" xlink:to="loc_us-gaap_AccountsPayableCurrent_3d308805-6371-4653-b8ed-2c1b09785524" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_d77c3ca4-2432-40ec-b303-ccf72dc13ae5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_86eeb64c-d5cc-4f78-9aa9-91bc21b60a0d" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_d77c3ca4-2432-40ec-b303-ccf72dc13ae5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_76929cdf-9660-4bef-b32e-854702aeda74" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_86eeb64c-d5cc-4f78-9aa9-91bc21b60a0d" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_76929cdf-9660-4bef-b32e-854702aeda74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_bfafed99-ad3e-493a-aaa5-00ab5baf045b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_86eeb64c-d5cc-4f78-9aa9-91bc21b60a0d" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_bfafed99-ad3e-493a-aaa5-00ab5baf045b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_e6e4c795-4693-4dd1-b23b-7f534c03a041" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_86eeb64c-d5cc-4f78-9aa9-91bc21b60a0d" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_e6e4c795-4693-4dd1-b23b-7f534c03a041" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_af161a7f-fbb9-4fae-a6a4-56cfeb48a880" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_5ae76ab1-5a60-4f12-952c-166dfdd89110" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_af161a7f-fbb9-4fae-a6a4-56cfeb48a880" xlink:to="loc_us-gaap_StockholdersEquity_5ae76ab1-5a60-4f12-952c-166dfdd89110" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MinorityInterest_896d215d-b8e1-4b28-ab33-86640f68e349" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_MinorityInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_af161a7f-fbb9-4fae-a6a4-56cfeb48a880" xlink:to="loc_us-gaap_MinorityInterest_896d215d-b8e1-4b28-ab33-86640f68e349" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_d22ce84c-f7ee-45c5-8fdc-d9c8fbbf8563" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:to="loc_us-gaap_LiabilitiesCurrent_d22ce84c-f7ee-45c5-8fdc-d9c8fbbf8563" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_cc45d82d-3743-4dae-b3ff-0d587895e9b1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_cc45d82d-3743-4dae-b3ff-0d587895e9b1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_c25aae03-a18a-4900-9c9b-f78029cce7c0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_c25aae03-a18a-4900-9c9b-f78029cce7c0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_311a7029-5eff-4444-b9f1-895cc84564fc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_311a7029-5eff-4444-b9f1-895cc84564fc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_2dee0551-4977-4614-a09a-97b947d413f4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_2dee0551-4977-4614-a09a-97b947d413f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_099236c3-c722-46bf-aa24-afbc79c7bdd6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_339ae446-2e41-4e7f-b658-434de3e261e0" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_099236c3-c722-46bf-aa24-afbc79c7bdd6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a71e79c4-e7de-4f1e-9c37-de9202c6097b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_643ae2dc-1985-4bee-9a1b-66480428827e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_a71e79c4-e7de-4f1e-9c37-de9202c6097b" xlink:to="loc_us-gaap_CommonStockValue_643ae2dc-1985-4bee-9a1b-66480428827e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_bf7780ed-ea01-41ef-a64e-80390ae4ca4c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_a71e79c4-e7de-4f1e-9c37-de9202c6097b" xlink:to="loc_us-gaap_AdditionalPaidInCapital_bf7780ed-ea01-41ef-a64e-80390ae4ca4c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_32ceb20e-c827-4eba-8c97-0f453c2499e6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_a71e79c4-e7de-4f1e-9c37-de9202c6097b" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_32ceb20e-c827-4eba-8c97-0f453c2499e6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonValue_e8de6b8b-36e5-4c16-9911-ce6d2b3f169b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonValue"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_a71e79c4-e7de-4f1e-9c37-de9202c6097b" xlink:to="loc_us-gaap_TreasuryStockCommonValue_e8de6b8b-36e5-4c16-9911-ce6d2b3f169b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_38d8b369-73df-4a92-b1ce-d80d95950a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_a71e79c4-e7de-4f1e-9c37-de9202c6097b" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_38d8b369-73df-4a92-b1ce-d80d95950a0d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_e0943846-d5cd-4f54-8bf3-28afe73cac1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_AssetsCurrent_e0943846-d5cd-4f54-8bf3-28afe73cac1a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_b68e27fb-9757-44c9-a977-98adc5bc3b0a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_b68e27fb-9757-44c9-a977-98adc5bc3b0a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_95c707cc-a7a2-4788-90b4-e062e725296c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_95c707cc-a7a2-4788-90b4-e062e725296c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_3351a5ae-ce3a-4b11-ba6a-98c309cbf38b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_Goodwill_3351a5ae-ce3a-4b11-ba6a-98c309cbf38b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_551a0a12-cf67-4237-b835-41c7ffec06ad" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_551a0a12-cf67-4237-b835-41c7ffec06ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_54b07c0e-b00b-4261-b920-e8cf1af40485" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_54b07c0e-b00b-4261-b920-e8cf1af40485" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_5503c49f-a736-4550-bbf2-0a7805a05107" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_dd749f77-3ecb-46a4-a417-dddd44cf8a80" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_5503c49f-a736-4550-bbf2-0a7805a05107" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_c6ec9937-7a23-489b-9632-c8e749a1c79f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_66906fd5-5ee7-47d6-8d66-7e1a0e00bab9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_c6ec9937-7a23-489b-9632-c8e749a1c79f" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_66906fd5-5ee7-47d6-8d66-7e1a0e00bab9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_e4f22d16-37c4-40db-8f36-f49d26da243d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsNotesAndLoansReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_c6ec9937-7a23-489b-9632-c8e749a1c79f" xlink:to="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_e4f22d16-37c4-40db-8f36-f49d26da243d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_dc59e20a-6cee-4475-bc86-99afa6ebf35f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_c6ec9937-7a23-489b-9632-c8e749a1c79f" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_dc59e20a-6cee-4475-bc86-99afa6ebf35f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_99d8570d-5c88-4898-be0a-2bda821107dc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_c6ec9937-7a23-489b-9632-c8e749a1c79f" xlink:to="loc_us-gaap_InventoryNet_99d8570d-5c88-4898-be0a-2bda821107dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_e1e99e61-8d42-4b41-9998-a4b818270ab5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_c6ec9937-7a23-489b-9632-c8e749a1c79f" xlink:to="loc_us-gaap_OtherAssetsCurrent_e1e99e61-8d42-4b41-9998-a4b818270ab5" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_f969d2bb-a42a-4e00-b3c5-4c2d1a8bce83" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_5607d646-2a64-4b40-8532-84305629ee37" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_f969d2bb-a42a-4e00-b3c5-4c2d1a8bce83" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_5607d646-2a64-4b40-8532-84305629ee37" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_05bc9b4c-c2a5-4694-8221-7ea57f408c7d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_f969d2bb-a42a-4e00-b3c5-4c2d1a8bce83" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_05bc9b4c-c2a5-4694-8221-7ea57f408c7d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_cec2d15f-bcc6-41a6-a069-2b495900dc0d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_f969d2bb-a42a-4e00-b3c5-4c2d1a8bce83" xlink:to="loc_us-gaap_GrossProfit_cec2d15f-bcc6-41a6-a069-2b495900dc0d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_172de539-49aa-4a34-b016-d5b93e5b52a1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_f969d2bb-a42a-4e00-b3c5-4c2d1a8bce83" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_172de539-49aa-4a34-b016-d5b93e5b52a1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_64402688-d564-429a-8688-e0bd71403579" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_cf40af67-5599-4487-9cb4-2b0a756d9179" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_64402688-d564-429a-8688-e0bd71403579" xlink:to="loc_us-gaap_OperatingIncomeLoss_cf40af67-5599-4487-9cb4-2b0a756d9179" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_848f8754-6a55-44e9-a4c5-4a2d77f343fd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_64402688-d564-429a-8688-e0bd71403579" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_848f8754-6a55-44e9-a4c5-4a2d77f343fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_e4b241f7-6026-45c0-b77b-465df63118d1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_64402688-d564-429a-8688-e0bd71403579" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_e4b241f7-6026-45c0-b77b-465df63118d1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_399ac392-1366-4f9f-b248-72a93f83fb6f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_c2e12fec-3f4a-49db-b529-2763948b7304" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_399ac392-1366-4f9f-b248-72a93f83fb6f" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_c2e12fec-3f4a-49db-b529-2763948b7304" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_e4802dc8-58cc-4c44-808b-a1f6742d9020" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_399ac392-1366-4f9f-b248-72a93f83fb6f" xlink:to="loc_us-gaap_CostOfRevenue_e4802dc8-58cc-4c44-808b-a1f6742d9020" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_a487f2ac-a51a-42d1-b91b-f7cc391fada9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ea09ab80-682e-4354-b0df-73358bea46c9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_ProfitLoss_a487f2ac-a51a-42d1-b91b-f7cc391fada9" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ea09ab80-682e-4354-b0df-73358bea46c9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_4150887f-58c2-44c5-9f25-d2bc001b10df" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_ProfitLoss_a487f2ac-a51a-42d1-b91b-f7cc391fada9" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_4150887f-58c2-44c5-9f25-d2bc001b10df" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_4c0a788a-5435-4d13-b6fc-599caa710298" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_ca86599d-09c3-4f3e-82ed-fd38dfea7d7a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_4c0a788a-5435-4d13-b6fc-599caa710298" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_ca86599d-09c3-4f3e-82ed-fd38dfea7d7a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_b9e511eb-5b9d-4e9d-8ff0-6d28d7558b16" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_4c0a788a-5435-4d13-b6fc-599caa710298" xlink:to="loc_us-gaap_ProfitLoss_b9e511eb-5b9d-4e9d-8ff0-6d28d7558b16" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_3656fc65-e4bd-4e66-ae43-14fa0a9d7495" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_79bf2d58-2b1e-4e0f-962f-95b348be0b42" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_3656fc65-e4bd-4e66-ae43-14fa0a9d7495" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_79bf2d58-2b1e-4e0f-962f-95b348be0b42" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_d0855d44-6385-46c1-b31a-36a9425dc76e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_3656fc65-e4bd-4e66-ae43-14fa0a9d7495" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_d0855d44-6385-46c1-b31a-36a9425dc76e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_e17140bd-7c6a-4257-b6b7-9b0b9ffd3f02" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_3656fc65-e4bd-4e66-ae43-14fa0a9d7495" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_e17140bd-7c6a-4257-b6b7-9b0b9ffd3f02" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_0f8e4a05-b82c-48ad-839a-d66adb421177" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_3656fc65-e4bd-4e66-ae43-14fa0a9d7495" xlink:to="loc_us-gaap_ProfitLoss_0f8e4a05-b82c-48ad-839a-d66adb421177" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_22264cf0-43e0-4a73-b5b1-83b47fc24406" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_d55649c4-a5b3-4fac-9a8c-364c4c017433" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_22264cf0-43e0-4a73-b5b1-83b47fc24406" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_d55649c4-a5b3-4fac-9a8c-364c4c017433" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_690206e1-c5ed-45a0-9ebc-9fee78dd6c87" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_22264cf0-43e0-4a73-b5b1-83b47fc24406" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_690206e1-c5ed-45a0-9ebc-9fee78dd6c87" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_84670406-f519-43bb-8466-58e0103855a8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_d3097195-1b38-4cf9-afdc-bae48f31c800" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_84670406-f519-43bb-8466-58e0103855a8" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_d3097195-1b38-4cf9-afdc-bae48f31c800" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_86054ad5-a35b-46cf-9625-13b2fd9f73e4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_84670406-f519-43bb-8466-58e0103855a8" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_86054ad5-a35b-46cf-9625-13b2fd9f73e4" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4051c275-2a37-4f69-b9bc-26dafa87eaf3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_aa16e49e-2506-46fe-9736-620b482e7b96" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4051c275-2a37-4f69-b9bc-26dafa87eaf3" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_aa16e49e-2506-46fe-9736-620b482e7b96" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_21950b38-1b6e-4f63-9edb-9d17e3e8f91b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4051c275-2a37-4f69-b9bc-26dafa87eaf3" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_21950b38-1b6e-4f63-9edb-9d17e3e8f91b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_c0a96f23-5b85-4620-b89f-b53db7045a5a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_ProfitLoss_c0a96f23-5b85-4620-b89f-b53db7045a5a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_60d85722-cceb-4754-b438-ed152623930e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_60d85722-cceb-4754-b438-ed152623930e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_e710c34e-6c5a-4335-b34d-81f11683e073" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_Depreciation_e710c34e-6c5a-4335-b34d-81f11683e073" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_2da339b6-608f-4969-9ade-441d611359e3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_AdjustmentForAmortization_2da339b6-608f-4969-9ade-441d611359e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EquityLossIncomeAndRemeasurementGain_c13d4ac0-6d0f-4b27-90d2-d7a5c385ca7f" xlink:href="fstr-20250930.xsd#fstr_EquityLossIncomeAndRemeasurementGain"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_fstr_EquityLossIncomeAndRemeasurementGain_c13d4ac0-6d0f-4b27-90d2-d7a5c385ca7f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnDispositionOfAssets_e4533702-afe7-44e1-8af9-dacb9baf6715" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnDispositionOfAssets"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_GainLossOnDispositionOfAssets_e4533702-afe7-44e1-8af9-dacb9baf6715" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_63870945-2675-4a7e-9eea-372e7c7f84b6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_ShareBasedCompensation_63870945-2675-4a7e-9eea-372e7c7f84b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_5bd3db05-be59-4df1-aa6f-4f6524e158d6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_5bd3db05-be59-4df1-aa6f-4f6524e158d6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_1aa47698-2de5-4fa1-b7bc-3986ccddb903" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_1aa47698-2de5-4fa1-b7bc-3986ccddb903" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_1bb5fc08-2df6-4682-9178-501392f6cb16" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_1bb5fc08-2df6-4682-9178-501392f6cb16" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_316079d5-cd72-4a4b-bd7a-832796911948" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_316079d5-cd72-4a4b-bd7a-832796911948" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_d9d08436-0086-45f5-b4a0-e15aba475167" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_d9d08436-0086-45f5-b4a0-e15aba475167" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_708e4a72-39e0-4dab-98bb-8805b6ef34c8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_708e4a72-39e0-4dab-98bb-8805b6ef34c8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_780ce48b-3bd0-4750-9e69-2225cf929f81" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_780ce48b-3bd0-4750-9e69-2225cf929f81" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_e2af3219-cec7-4e08-907b-e96e1b3c4133" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_e2af3219-cec7-4e08-907b-e96e1b3c4133" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_619a7d70-7bf0-4690-b482-179ea79f8f69" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_619a7d70-7bf0-4690-b482-179ea79f8f69" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_cb6f5b1b-cfc2-46ae-ba16-017c0997c5ea" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_cb6f5b1b-cfc2-46ae-ba16-017c0997c5ea" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_IncreaseDecreaseInAccruedSettlement_b3985e19-3421-4ca0-9ff5-49c9af14d90f" xlink:href="fstr-20250930.xsd#fstr_IncreaseDecreaseInAccruedSettlement"/>
    <link:calculationArc order="18" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_fstr_IncreaseDecreaseInAccruedSettlement_b3985e19-3421-4ca0-9ff5-49c9af14d90f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_9cb1762b-1ed7-4414-99b2-96caf9e1498f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessExitCosts1"/>
    <link:calculationArc order="19" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e67081a3-ed3f-4506-a41b-e9bf6cdf63e8" xlink:to="loc_us-gaap_BusinessExitCosts1_9cb1762b-1ed7-4414-99b2-96caf9e1498f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f80587b0-2a77-4aab-b241-95b10a3c0acd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherLongTermDebt_e5c40ba8-98cb-41ee-bd1a-741102697417" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RepaymentsOfOtherLongTermDebt"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f80587b0-2a77-4aab-b241-95b10a3c0acd" xlink:to="loc_us-gaap_RepaymentsOfOtherLongTermDebt_e5c40ba8-98cb-41ee-bd1a-741102697417" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_065e45d0-8e47-4fa4-b003-d3cfdeb010b4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f80587b0-2a77-4aab-b241-95b10a3c0acd" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_065e45d0-8e47-4fa4-b003-d3cfdeb010b4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_ec65ad01-cc13-40f4-abe1-ea64c4fcec3a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f80587b0-2a77-4aab-b241-95b10a3c0acd" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_ec65ad01-cc13-40f4-abe1-ea64c4fcec3a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_14ce595a-95f6-4eb7-a6c1-9f56a91926e3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f80587b0-2a77-4aab-b241-95b10a3c0acd" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_14ce595a-95f6-4eb7-a6c1-9f56a91926e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_7df57ba9-d30a-41e8-a798-759bbe1d7319" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f80587b0-2a77-4aab-b241-95b10a3c0acd" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_7df57ba9-d30a-41e8-a798-759bbe1d7319" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_f17f8567-32f7-4024-83f0-4cd9856d5dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_005d30fb-5573-48b0-9926-59c52e3d2c06" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_f17f8567-32f7-4024-83f0-4cd9856d5dd3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_005d30fb-5573-48b0-9926-59c52e3d2c06" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_ffdfff41-8196-4b81-8e31-d7275a43ee69" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_f17f8567-32f7-4024-83f0-4cd9856d5dd3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_ffdfff41-8196-4b81-8e31-d7275a43ee69" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4aa5e5e9-1c8b-40f0-985d-09316a3dfd88" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_f17f8567-32f7-4024-83f0-4cd9856d5dd3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4aa5e5e9-1c8b-40f0-985d-09316a3dfd88" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_c6e6373f-703e-4119-9cca-042ad5d4b11d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_f17f8567-32f7-4024-83f0-4cd9856d5dd3" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_c6e6373f-703e-4119-9cca-042ad5d4b11d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_17693b8b-b461-4b8a-83da-96be827b5edd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfRevenue"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:to="loc_us-gaap_CostOfRevenue_17693b8b-b461-4b8a-83da-96be827b5edd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_d0e8c155-4c8d-4caf-bffb-5b20dc4634ff" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:to="loc_us-gaap_AdjustmentForAmortization_d0e8c155-4c8d-4caf-bffb-5b20dc4634ff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_2e9b020a-b509-4f01-97f7-3246cf6ab56c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_2e9b020a-b509-4f01-97f7-3246cf6ab56c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_52e77e8b-6576-4bee-8222-61fb7c6f6d74" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_52e77e8b-6576-4bee-8222-61fb7c6f6d74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PurchasedServicesExpense_732543a3-bdfa-41d7-9950-e30ef7ba5768" xlink:href="fstr-20250930.xsd#fstr_PurchasedServicesExpense"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:to="loc_fstr_PurchasedServicesExpense_732543a3-bdfa-41d7-9950-e30ef7ba5768" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LaborAndRelatedExpense_07d005e9-e834-4adb-9373-65ec2cfe53f7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LaborAndRelatedExpense"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_58c40e4c-1a6d-477a-9f58-81e5abbb871e" xlink:to="loc_us-gaap_LaborAndRelatedExpense_07d005e9-e834-4adb-9373-65ec2cfe53f7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherCorporateCharges_55cb3304-a274-490c-a0c4-da325b6cc29e" xlink:href="fstr-20250930.xsd#fstr_OtherCorporateCharges"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_fstr_OtherCorporateCharges_55cb3304-a274-490c-a0c4-da325b6cc29e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExecutiveManagementCosts_79ff1095-18e7-453a-9717-5bd9fc68233b" xlink:href="fstr-20250930.xsd#fstr_CorporateExecutiveManagementCosts"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_fstr_CorporateExecutiveManagementCosts_79ff1095-18e7-453a-9717-5bd9fc68233b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateManagementStockBasedCompensation_13b76423-0ace-48f5-8df9-f996dba20c45" xlink:href="fstr-20250930.xsd#fstr_CorporateManagementStockBasedCompensation"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_fstr_CorporateManagementStockBasedCompensation_13b76423-0ace-48f5-8df9-f996dba20c45" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_49c20ff2-89c3-45cf-ae21-da21f376063d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_49c20ff2-89c3-45cf-ae21-da21f376063d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_6935eb01-b9a8-42c4-8513-a08ffafcd166" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_us-gaap_OperatingIncomeLoss_6935eb01-b9a8-42c4-8513-a08ffafcd166" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_150f19b4-4bc8-4846-8d20-8c67c6f3522a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_150f19b4-4bc8-4846-8d20-8c67c6f3522a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PublicCompanyCosts_c3e5c8ef-3d94-48f1-b3ce-7ba09f24e5ec" xlink:href="fstr-20250930.xsd#fstr_PublicCompanyCosts"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_fstr_PublicCompanyCosts_c3e5c8ef-3d94-48f1-b3ce-7ba09f24e5ec" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_1889c5d0-f12a-4c5d-b4e1-8524e212c24e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c591771c-b234-4bba-8fd9-95bf52e082d1" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_1889c5d0-f12a-4c5d-b4e1-8524e212c24e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/InventoryDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#InventoryDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/InventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_160c06c9-3de1-42d5-beb2-506fd5e5cc09" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_1847f133-60c4-44ba-984e-985bbe6a690c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_160c06c9-3de1-42d5-beb2-506fd5e5cc09" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_1847f133-60c4-44ba-984e-985bbe6a690c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_0e3df0d6-584d-4cfc-908f-fa71361ab591" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_160c06c9-3de1-42d5-beb2-506fd5e5cc09" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_0e3df0d6-584d-4cfc-908f-fa71361ab591" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_6dc674e0-0b5b-40d0-b15f-e7ff925c33b2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_160c06c9-3de1-42d5-beb2-506fd5e5cc09" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_6dc674e0-0b5b-40d0-b15f-e7ff925c33b2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtAndCapitalLeaseObligations_7ba86739-904b-4b15-abb4-984028a4edb3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_ba7c55de-6390-47ec-a3ec-bfa4fc262b60" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtAndCapitalLeaseObligations_7ba86739-904b-4b15-abb4-984028a4edb3" xlink:to="loc_us-gaap_LineOfCredit_ba7c55de-6390-47ec-a3ec-bfa4fc262b60" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_626fe8c6-0e1f-4286-a741-1882734f99b3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtAndCapitalLeaseObligations_7ba86739-904b-4b15-abb4-984028a4edb3" xlink:to="loc_us-gaap_FinanceLeaseLiability_626fe8c6-0e1f-4286-a741-1882734f99b3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtAndCapitalLeaseObligations_82ba4591-0d34-49cb-a5ad-425c78bef5cf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_7f9d29d1-fcbc-48f6-9e37-c1c35e33d164" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtAndCapitalLeaseObligations_82ba4591-0d34-49cb-a5ad-425c78bef5cf" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_7f9d29d1-fcbc-48f6-9e37-c1c35e33d164" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_73f92a4c-a69a-4004-a944-0178338db775" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtAndCapitalLeaseObligations_82ba4591-0d34-49cb-a5ad-425c78bef5cf" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_73f92a4c-a69a-4004-a944-0178338db775" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/EarningsPerCommonShareDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#EarningsPerCommonShareDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/EarningsPerCommonShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5198e0e9-a6a7-445a-a140-ed7a7ad413ab" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_1f293750-26a8-4214-af3f-e102f45d259c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5198e0e9-a6a7-445a-a140-ed7a7ad413ab" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_1f293750-26a8-4214-af3f-e102f45d259c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_47371891-b392-497e-960c-1041731d7456" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends_dc4b5a21-3706-4829-8959-d6154b7d8bbd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_47371891-b392-497e-960c-1041731d7456" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends_dc4b5a21-3706-4829-8959-d6154b7d8bbd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_dce52111-b052-45a3-acaa-89524b8c76bb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_5e6a108e-dc56-4590-a8f8-b3a4cae057b7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_dce52111-b052-45a3-acaa-89524b8c76bb" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_5e6a108e-dc56-4590-a8f8-b3a4cae057b7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8f1ca1f1-d4ba-48e5-83ce-684099b6b304" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_dce52111-b052-45a3-acaa-89524b8c76bb" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8f1ca1f1-d4ba-48e5-83ce-684099b6b304" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_67470dfb-ed8f-4c45-93c6-ff2f98ad6c1c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_79e74bf0-956a-46bd-8774-7bea1a5a90e9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_67470dfb-ed8f-4c45-93c6-ff2f98ad6c1c" xlink:to="loc_us-gaap_DerivativeAssets_79e74bf0-956a-46bd-8774-7bea1a5a90e9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansScheduleofNetBenefitCostsDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_eeda9996-7ccd-45d0-bc51-334e1e699306" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_693db8a2-fba7-4a5c-b346-697248ed87de" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_eeda9996-7ccd-45d0-bc51-334e1e699306" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_693db8a2-fba7-4a5c-b346-697248ed87de" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_50e983ee-78e4-4103-99a0-0aac88525642" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_eeda9996-7ccd-45d0-bc51-334e1e699306" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_50e983ee-78e4-4103-99a0-0aac88525642" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_b71fccea-0450-4c4a-b97e-236df236470b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_eeda9996-7ccd-45d0-bc51-334e1e699306" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_b71fccea-0450-4c4a-b97e-236df236470b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_f4a0dfb5-f2b8-4acc-8da1-69bb415568cf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_eeda9996-7ccd-45d0-bc51-334e1e699306" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_f4a0dfb5-f2b8-4acc-8da1-69bb415568cf" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>fstr-20250930_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:7d5ac89a-83a2-47ec-b376-138d8c6e27e5,g:618b3232-2c41-4f96-88c5-426a8015ae6c-->
<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.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:to="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_221e6b59-498b-4e80-bbd5-023cb4d78866_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:to="loc_srt_ProductsAndServicesDomain_221e6b59-498b-4e80-bbd5-023cb4d78866_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:to="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_4bc091ed-81fd-42ac-859a-f44a64308254" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:to="loc_us-gaap_ProductMember_4bc091ed-81fd-42ac-859a-f44a64308254" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember_c7977b40-657c-4487-af75-b789f37c915e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:to="loc_us-gaap_ServiceMember_c7977b40-657c-4487-af75-b789f37c915e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_949d5f94-75f8-4b3a-b674-bd6547e9dbbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_949d5f94-75f8-4b3a-b674-bd6547e9dbbe" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_e7f60c82-486a-4f41-8ca4-65609b8827e3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_CostOfRevenue_e7f60c82-486a-4f41-8ca4-65609b8827e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_64602d35-9da5-4111-9c86-33dfc2f40429" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_GrossProfit_64602d35-9da5-4111-9c86-33dfc2f40429" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_55002896-f05f-42d9-9279-535bff9d4f2e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_55002896-f05f-42d9-9279-535bff9d4f2e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_b6367ffe-2e6d-482e-9788-d929dcc5cb08" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_b6367ffe-2e6d-482e-9788-d929dcc5cb08" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_e06621c7-755f-4e88-bdf3-08bdae075be9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_e06621c7-755f-4e88-bdf3-08bdae075be9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_88cd840c-3aae-4bb7-ab53-4ea75c7ef823" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_OperatingIncomeLoss_88cd840c-3aae-4bb7-ab53-4ea75c7ef823" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_54b81bac-3add-4880-856b-09e20ee4b224" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_54b81bac-3add-4880-856b-09e20ee4b224" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_2b93951e-5edc-465c-a2a4-6c30eee9924f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_2b93951e-5edc-465c-a2a4-6c30eee9924f" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ed63dfe4-e17c-4707-b1c5-e411a7c7679e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ed63dfe4-e17c-4707-b1c5-e411a7c7679e" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_f448b7ff-5ef3-4606-845d-14b571ad4d12" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_f448b7ff-5ef3-4606-845d-14b571ad4d12" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_e71e09b7-df53-4182-a4ea-f53e937ff02f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_ProfitLoss_e71e09b7-df53-4182-a4ea-f53e937ff02f" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_b613ce1f-2835-4218-be97-f48191c1be41" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_b613ce1f-2835-4218-be97-f48191c1be41" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_700c01bd-9214-41c2-83ed-1dba8872f366" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_NetIncomeLoss_700c01bd-9214-41c2-83ed-1dba8872f366" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_1285a985-1bfc-4cf1-aefe-01b358cee42d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:to="loc_us-gaap_EarningsPerShareBasic_1285a985-1bfc-4cf1-aefe-01b358cee42d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_24c0ace0-b30c-459c-ba1f-96228f98cfb8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:to="loc_us-gaap_EarningsPerShareDiluted_24c0ace0-b30c-459c-ba1f-96228f98cfb8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5e9737e3-ea11-4653-90ec-ff6e14053935" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5e9737e3-ea11-4653-90ec-ff6e14053935" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6f49ccfc-3e44-48ce-b805-1f1216984c95" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6f49ccfc-3e44-48ce-b805-1f1216984c95" xlink:type="arc" order="16"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_b0632d81-60aa-4a90-8c9a-575596cbbc74" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_b0632d81-60aa-4a90-8c9a-575596cbbc74" xlink:to="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_0e7296b8-c48e-4a19-b41d-51cf93a86623_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:to="loc_us-gaap_EquityComponentDomain_0e7296b8-c48e-4a19-b41d-51cf93a86623_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:to="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_eac77037-06fe-471b-a3c8-237a9e173da7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_CommonStockMember_eac77037-06fe-471b-a3c8-237a9e173da7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_e9de4881-78e9-469f-8555-99c9f4880f6f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_e9de4881-78e9-469f-8555-99c9f4880f6f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_2eac2120-c08f-4f56-b4da-fba7dd346366" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_RetainedEarningsMember_2eac2120-c08f-4f56-b4da-fba7dd346366" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_7e13e009-a902-4ae6-bbf2-00a1119f6d69" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_TreasuryStockCommonMember_7e13e009-a902-4ae6-bbf2-00a1119f6d69" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_9b8e5c61-05d9-43de-9494-0e0941367f65" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_9b8e5c61-05d9-43de-9494-0e0941367f65" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestMember_38cac935-1d95-4729-b8ee-b325c8be2de0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_NoncontrollingInterestMember_38cac935-1d95-4729-b8ee-b325c8be2de0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_b0632d81-60aa-4a90-8c9a-575596cbbc74" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3a6837e8-1c0c-4988-ae3d-c07f600c5f5b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3a6837e8-1c0c-4988-ae3d-c07f600c5f5b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_ca93a151-0cb3-4da0-8f4a-8039dc78fd5f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_ProfitLoss_ca93a151-0cb3-4da0-8f4a-8039dc78fd5f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_23d0524d-543e-4e2b-8246-ede042097118" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:to="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_23d0524d-543e-4e2b-8246-ede042097118" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_6d50bfa9-5495-4306-a836-0f95e818d418" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_6d50bfa9-5495-4306-a836-0f95e818d418" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_9034f923-5b07-499a-ad11-03c3dcc358cc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_9034f923-5b07-499a-ad11-03c3dcc358cc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_edb73f81-18a1-4410-9605-36f1f5ad704a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_edb73f81-18a1-4410-9605-36f1f5ad704a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_43d16d37-66f6-4672-8121-9b2db6780108" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_43d16d37-66f6-4672-8121-9b2db6780108" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_291cdd39-d338-4cf4-983f-eea2d3435542" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_291cdd39-d338-4cf4-983f-eea2d3435542" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_625dbfeb-dba5-48d8-8a8e-9cfe996314b1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_625dbfeb-dba5-48d8-8a8e-9cfe996314b1" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b8d55833-5b37-4e83-ad41-980901cfeb01" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_f691f633-f029-4047-b310-0c3379f55d82_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:to="loc_srt_ConsolidationItemsDomain_f691f633-f029-4047-b310-0c3379f55d82_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_90c5bd39-8fef-4baf-97ef-684b219f6332" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:to="loc_srt_ConsolidationItemsDomain_90c5bd39-8fef-4baf-97ef-684b219f6332" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateAndReconcilingItemsMember_2174307a-120f-496b-b808-eb522b2926bc" xlink:href="fstr-20250930.xsd#fstr_CorporateAndReconcilingItemsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_90c5bd39-8fef-4baf-97ef-684b219f6332" xlink:to="loc_fstr_CorporateAndReconcilingItemsMember_2174307a-120f-496b-b808-eb522b2926bc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_4469f7e1-1964-40b4-a6e0-ca3f0ba93599_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_4469f7e1-1964-40b4-a6e0-ca3f0ba93599_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_a480b2c2-aa34-45c0-9c27-0ac38459a06e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_a480b2c2-aa34-45c0-9c27-0ac38459a06e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDiscontinuedOperationsMember_848c1444-13f4-494a-b21a-608e049d8aed" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDiscontinuedOperationsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_a480b2c2-aa34-45c0-9c27-0ac38459a06e" xlink:to="loc_us-gaap_SegmentDiscontinuedOperationsMember_848c1444-13f4-494a-b21a-608e049d8aed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_95883581-8361-4bc2-afb9-338bc808961a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_95883581-8361-4bc2-afb9-338bc808961a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e9dde13d-d98b-4795-b54b-c8163382c2e6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e9dde13d-d98b-4795-b54b-c8163382c2e6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_BridgeGridDeckProductMember_3d59dc1c-cab1-4791-8b63-dfaa63857b1b" xlink:href="fstr-20250930.xsd#fstr_BridgeGridDeckProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e9dde13d-d98b-4795-b54b-c8163382c2e6" xlink:to="loc_fstr_BridgeGridDeckProductMember_3d59dc1c-cab1-4791-8b63-dfaa63857b1b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_71292729-7d9e-4d0b-a17e-5e62a395fe78" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:to="loc_us-gaap_CostOfSalesMember_71292729-7d9e-4d0b-a17e-5e62a395fe78" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_305afe2c-d1ee-4ae3-a75f-d6c3975832b3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_305afe2c-d1ee-4ae3-a75f-d6c3975832b3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_045043ba-d790-4354-b24d-10961ca0c36e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_045043ba-d790-4354-b24d-10961ca0c36e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_dd541563-0e7c-43a7-a38c-f74baf7cfd64" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_dd541563-0e7c-43a7-a38c-f74baf7cfd64" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SkratchEnterprisesLtdMember_f9930650-26ea-4f41-8c1d-1a1102de0a3a" xlink:href="fstr-20250930.xsd#fstr_SkratchEnterprisesLtdMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_dd541563-0e7c-43a7-a38c-f74baf7cfd64" xlink:to="loc_fstr_SkratchEnterprisesLtdMember_f9930650-26ea-4f41-8c1d-1a1102de0a3a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_28f087e1-1f73-4509-a2c4-1026cffbc791_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_28f087e1-1f73-4509-a2c4-1026cffbc791_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_528662e0-0100-40a7-bac8-024f26f47d18" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_528662e0-0100-40a7-bac8-024f26f47d18" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_August2024RestructuringMember_f639ca3b-6a53-4d91-bc64-0846739760de" xlink:href="fstr-20250930.xsd#fstr_August2024RestructuringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_528662e0-0100-40a7-bac8-024f26f47d18" xlink:to="loc_fstr_August2024RestructuringMember_f639ca3b-6a53-4d91-bc64-0846739760de" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_e0be4007-ed7f-4684-9879-5fe9e3c66e7d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:to="loc_us-gaap_RestructuringPlanDomain_e0be4007-ed7f-4684-9879-5fe9e3c66e7d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_d517ed65-b5e5-4f13-9430-e35ed43ea8fc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:to="loc_us-gaap_RestructuringPlanDomain_d517ed65-b5e5-4f13-9430-e35ed43ea8fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AutomationAndMaterialsHandlingMember_a18397d3-2b11-46ea-9aa1-ab4b86525bbe" xlink:href="fstr-20250930.xsd#fstr_AutomationAndMaterialsHandlingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringPlanDomain_d517ed65-b5e5-4f13-9430-e35ed43ea8fc" xlink:to="loc_fstr_AutomationAndMaterialsHandlingMember_a18397d3-2b11-46ea-9aa1-ab4b86525bbe" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_dbeb7503-230d-4db9-ace4-505a1602efa7_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:to="loc_srt_ProductsAndServicesDomain_dbeb7503-230d-4db9-ace4-505a1602efa7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_04f92bff-2a02-4739-b737-86e4dd00e8da" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:to="loc_srt_ProductsAndServicesDomain_04f92bff-2a02-4739-b737-86e4dd00e8da" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AutomationAndMaterialsHandlingLineMember_cead7592-4910-427a-a5d2-9ae261eb2ee1" xlink:href="fstr-20250930.xsd#fstr_AutomationAndMaterialsHandlingLineMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_04f92bff-2a02-4739-b737-86e4dd00e8da" xlink:to="loc_fstr_AutomationAndMaterialsHandlingLineMember_cead7592-4910-427a-a5d2-9ae261eb2ee1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_f4468c65-75e2-44bb-b8c3-29b0531baf1c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_NumberOfOperatingSegments_f4468c65-75e2-44bb-b8c3-29b0531baf1c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_07aae024-6052-44ee-ab1c-01ce0e0e7858" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_NumberOfReportableSegments_07aae024-6052-44ee-ab1c-01ce0e0e7858" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_cbb25239-ec66-409c-a713-e591c8bffa8c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_cbb25239-ec66-409c-a713-e591c8bffa8c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_8751d4a4-e6ae-4ebc-8c7e-c1edbdf15ba7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_8751d4a4-e6ae-4ebc-8c7e-c1edbdf15ba7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_717feb1d-9e1f-4249-b78b-f9c7144bed41" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_717feb1d-9e1f-4249-b78b-f9c7144bed41" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_ca741666-798a-4ceb-be9e-b9c3ad228060" xlink:href="fstr-20250930.xsd#fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_ca741666-798a-4ceb-be9e-b9c3ad228060" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_079ccf9b-c3c1-49f9-b74f-be5beeb315bb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_079ccf9b-c3c1-49f9-b74f-be5beeb315bb" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_09feff5c-74b1-424e-b17d-cfdc984beb9a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_09feff5c-74b1-424e-b17d-cfdc984beb9a" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_1d7520a4-6a1c-4858-a409-8bdee6869aab" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessExitCosts1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_BusinessExitCosts1_1d7520a4-6a1c-4858-a409-8bdee6869aab" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InventoryAndFixedAssetWriteDown_594907d3-acec-4b2f-ae61-58b83a195125" xlink:href="fstr-20250930.xsd#fstr_InventoryAndFixedAssetWriteDown"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_InventoryAndFixedAssetWriteDown_594907d3-acec-4b2f-ae61-58b83a195125" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PersonnelExpenses_240446b5-769a-4478-8c02-3ecf4ba40c0b" xlink:href="fstr-20250930.xsd#fstr_PersonnelExpenses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_PersonnelExpenses_240446b5-769a-4478-8c02-3ecf4ba40c0b" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherExitCosts_4f13eec9-5541-4640-9bc4-84060e358c82" xlink:href="fstr-20250930.xsd#fstr_OtherExitCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_OtherExitCosts_4f13eec9-5541-4640-9bc4-84060e358c82" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_89fa5caf-bc3e-407f-af10-0e79537a5ce6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringReserve"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_RestructuringReserve_89fa5caf-bc3e-407f-af10-0e79537a5ce6" xlink:type="arc" order="12"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:to="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_fa56dc77-1b6d-4693-8a69-70b1236a2adb_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:to="loc_srt_ConsolidationItemsDomain_fa56dc77-1b6d-4693-8a69-70b1236a2adb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:to="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_f286ce41-45ad-4b1f-90ac-115615b3fbfb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:to="loc_us-gaap_OperatingSegmentsMember_f286ce41-45ad-4b1f-90ac-115615b3fbfb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateAndReconcilingItemsMember_ff9f890e-8350-47a3-82ce-fdf2a89fdcb4" xlink:href="fstr-20250930.xsd#fstr_CorporateAndReconcilingItemsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:to="loc_fstr_CorporateAndReconcilingItemsMember_ff9f890e-8350-47a3-82ce-fdf2a89fdcb4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:to="loc_us-gaap_SegmentDomain_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:to="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_26a4e999-329e-4dce-8e6c-f600b05d185e" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_26a4e999-329e-4dce-8e6c-f600b05d185e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_4c59c929-ded7-44bd-8965-7bf7d1239a87" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_4c59c929-ded7-44bd-8965-7bf7d1239a87" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3497ffb8-d329-4658-b35c-1f31ee6edfb9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3497ffb8-d329-4658-b35c-1f31ee6edfb9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_2e652e03-04c4-43ee-ae24-f98dd9862849" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_CostOfRevenue_2e652e03-04c4-43ee-ae24-f98dd9862849" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LaborAndRelatedExpense_95a515d4-ad7e-4f8b-b355-7a51ce187dc7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LaborAndRelatedExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_LaborAndRelatedExpense_95a515d4-ad7e-4f8b-b355-7a51ce187dc7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PurchasedServicesExpense_6a7029d4-ee23-4e1a-ab7b-c6f17a486ecf" xlink:href="fstr-20250930.xsd#fstr_PurchasedServicesExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_fstr_PurchasedServicesExpense_6a7029d4-ee23-4e1a-ab7b-c6f17a486ecf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_8dcfe48f-6d95-4ef0-b57e-58368bacb385" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_8dcfe48f-6d95-4ef0-b57e-58368bacb385" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_8d5e61ea-c8d1-4221-bb33-aa21ef7c8229" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_AdjustmentForAmortization_8d5e61ea-c8d1-4221-bb33-aa21ef7c8229" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_29ae5632-50d3-474f-a167-d9f1b4601f37" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_OperatingIncomeLoss_29ae5632-50d3-474f-a167-d9f1b4601f37" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_f8c7ad45-021c-4361-b7f5-12a73ea5fc9c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_f8c7ad45-021c-4361-b7f5-12a73ea5fc9c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_9a85f897-bd17-44dd-a327-b19918412d9a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_9a85f897-bd17-44dd-a327-b19918412d9a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_f8ab80c2-2e9d-45ad-9266-b9c9d1e8317a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_f8ab80c2-2e9d-45ad-9266-b9c9d1e8317a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PublicCompanyCosts_eb488282-6003-4e30-adb2-2474938b313f" xlink:href="fstr-20250930.xsd#fstr_PublicCompanyCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_PublicCompanyCosts_eb488282-6003-4e30-adb2-2474938b313f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExecutiveManagementCosts_97040b7e-d154-489a-99a1-e1d13e991ed1" xlink:href="fstr-20250930.xsd#fstr_CorporateExecutiveManagementCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_CorporateExecutiveManagementCosts_97040b7e-d154-489a-99a1-e1d13e991ed1" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateManagementStockBasedCompensation_9ad528cd-68c6-49ad-aab0-d421c4fee5fa" xlink:href="fstr-20250930.xsd#fstr_CorporateManagementStockBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_CorporateManagementStockBasedCompensation_9ad528cd-68c6-49ad-aab0-d421c4fee5fa" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherCorporateCharges_2f6e9e13-4ab4-4a55-8a01-d7f55454b7bf" xlink:href="fstr-20250930.xsd#fstr_OtherCorporateCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_OtherCorporateCharges_2f6e9e13-4ab4-4a55-8a01-d7f55454b7bf" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6be8daa9-9ec0-4515-b2a6-d798c7d3c86f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6be8daa9-9ec0-4515-b2a6-d798c7d3c86f" xlink:type="arc" order="10"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsScheduleofAssetReportableSegmentDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_d8d137dd-b86f-4679-ae30-421d259e2f7d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:to="loc_us-gaap_SegmentDomain_d8d137dd-b86f-4679-ae30-421d259e2f7d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:to="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_a7674607-6616-4296-9a3b-4b3df5934c8a" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_a7674607-6616-4296-9a3b-4b3df5934c8a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_db01ad1b-7f68-4679-91c8-5ad56c734eb4" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_db01ad1b-7f68-4679-91c8-5ad56c734eb4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:to="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_03a18a02-1979-4b86-9a26-9c0794745081_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:to="loc_srt_ConsolidationItemsDomain_03a18a02-1979-4b86-9a26-9c0794745081_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:to="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_5c7d2f65-9b09-4b5d-9f3a-92e20bcb8e4b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:to="loc_us-gaap_OperatingSegmentsMember_5c7d2f65-9b09-4b5d-9f3a-92e20bcb8e4b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_00f1a8c1-582f-41cb-b959-28b4cc4d4525" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:to="loc_us-gaap_CorporateNonSegmentMember_00f1a8c1-582f-41cb-b959-28b4cc4d4525" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_95cd1782-51e8-47e1-9536-a872e5008430" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_95cd1782-51e8-47e1-9536-a872e5008430" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentExpenditureAdditionToLongLivedAssets_d67cfa7e-8610-4643-a029-125e171d8cc1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_SegmentExpenditureAdditionToLongLivedAssets_d67cfa7e-8610-4643-a029-125e171d8cc1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_9c5bec14-2345-4b41-99e3-5bdf69d9a30e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_Assets_9c5bec14-2345-4b41-99e3-5bdf69d9a30e" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofSalesbyMajorProductLineDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a71db34e-7f09-40f7-aa1c-578a9cd96085" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a71db34e-7f09-40f7-aa1c-578a9cd96085" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:to="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f07d0c93-623f-4187-8d87-efcf2dc5b5ee_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:to="loc_srt_ProductsAndServicesDomain_f07d0c93-623f-4187-8d87-efcf2dc5b5ee_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:to="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailProductsMember_8477c942-5591-4664-96bc-f5fe3b0d593f" xlink:href="fstr-20250930.xsd#fstr_RailProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:to="loc_fstr_RailProductsMember_8477c942-5591-4664-96bc-f5fe3b0d593f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_GlobalFrictionManagementMember_1d75ecc9-ce9c-4720-924b-04e312500f70" xlink:href="fstr-20250930.xsd#fstr_GlobalFrictionManagementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:to="loc_fstr_GlobalFrictionManagementMember_1d75ecc9-ce9c-4720-924b-04e312500f70" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesProductsMember_24b59440-31ad-4856-b775-78ded011c5d7" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:to="loc_fstr_RailTechnologiesProductsMember_24b59440-31ad-4856-b775-78ded011c5d7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_a4bb1fe6-7f17-46f8-94f7-0cc692778212_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:to="loc_us-gaap_SegmentDomain_a4bb1fe6-7f17-46f8-94f7-0cc692778212_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:to="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_586775a7-29d8-4ea6-9836-644d4d6e5657" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_586775a7-29d8-4ea6-9836-644d4d6e5657" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsSegmentMember_4d1a601c-03f0-4bad-89fe-b7b213a0b026" xlink:href="fstr-20250930.xsd#fstr_PrecastConcreteProductsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_PrecastConcreteProductsSegmentMember_4d1a601c-03f0-4bad-89fe-b7b213a0b026" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsSegmentMember_88d10fb4-086b-4a2d-8d19-a5ecfae503d9" xlink:href="fstr-20250930.xsd#fstr_SteelProductsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_SteelProductsSegmentMember_88d10fb4-086b-4a2d-8d19-a5ecfae503d9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_2ba0e6e0-156c-4269-8517-935841d990da" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_2ba0e6e0-156c-4269-8517-935841d990da" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_e434edf4-ec53-4296-be3f-977755dcf8c0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a71db34e-7f09-40f7-aa1c-578a9cd96085" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_e434edf4-ec53-4296-be3f-977755dcf8c0" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofTimingofTransferDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_9e9fd6f0-df84-4a4c-ac52-b142d2a40e38" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_9e9fd6f0-df84-4a4c-ac52-b142d2a40e38" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:to="loc_us-gaap_SegmentDomain_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:to="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_784c116f-4fca-4868-b9f8-6ca4557f8c10" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_784c116f-4fca-4868-b9f8-6ca4557f8c10" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_88f04748-588f-4c54-a20d-3a2b2e3f57eb" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_88f04748-588f-4c54-a20d-3a2b2e3f57eb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_5f9c304c-9bd4-4195-9824-c19551c10de2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_5f9c304c-9bd4-4195-9824-c19551c10de2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_b8289aaf-f1d9-4535-9ec9-628da03fe064" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_b8289aaf-f1d9-4535-9ec9-628da03fe064" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_6c8da39b-30cf-4d45-8b73-847201be32b2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:to="loc_us-gaap_TransferredOverTimeMember_6c8da39b-30cf-4d45-8b73-847201be32b2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_7681ba53-e218-4b73-aada-3fa7b812c413" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_9e9fd6f0-df84-4a4c-ac52-b142d2a40e38" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_7681ba53-e218-4b73-aada-3fa7b812c413" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofOverTimeSalesDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7c005d79-8dc9-4226-8971-e58db58c3052_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7c005d79-8dc9-4226-8971-e58db58c3052_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeInputMethodMember_9d57b5ed-1a6f-460e-a5e2-53b350a4440a" xlink:href="fstr-20250930.xsd#fstr_OverTimeInputMethodMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:to="loc_fstr_OverTimeInputMethodMember_9d57b5ed-1a6f-460e-a5e2-53b350a4440a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeOutputMethodMember_50ed5e48-2cdf-42b0-adbe-b8a5e2cd573c" xlink:href="fstr-20250930.xsd#fstr_OverTimeOutputMethodMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:to="loc_fstr_OverTimeOutputMethodMember_50ed5e48-2cdf-42b0-adbe-b8a5e2cd573c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesAmount_2a7f1f2f-6452-438d-adb5-0b0e55fe2c60" xlink:href="fstr-20250930.xsd#fstr_OverTimeSalesAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:to="loc_fstr_OverTimeSalesAmount_2a7f1f2f-6452-438d-adb5-0b0e55fe2c60" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesPercent_c7d2b3b1-ec29-4f27-8b9d-6622a6844d51" xlink:href="fstr-20250930.xsd#fstr_OverTimeSalesPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:to="loc_fstr_OverTimeSalesPercent_c7d2b3b1-ec29-4f27-8b9d-6622a6844d51" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueRemainingPerformanceObligationDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ef04dcc7-ad2f-4fd6-a25d-ea816e52c7a6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ef04dcc7-ad2f-4fd6-a25d-ea816e52c7a6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_19ee49b4-9aba-4a6f-a5ce-d8cb1bc5741f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_19ee49b4-9aba-4a6f-a5ce-d8cb1bc5741f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_7cb94509-fcf8-4af4-b294-8f721f164668" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_7cb94509-fcf8-4af4-b294-8f721f164668" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_2aac6d43-34cf-4df1-80b5-0d646efe3b94" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_2aac6d43-34cf-4df1-80b5-0d646efe3b94" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueRemainingPerformanceObligationDetails_1"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_19ee49b4-9aba-4a6f-a5ce-d8cb1bc5741f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_19ee49b4-9aba-4a6f-a5ce-d8cb1bc5741f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_7cb94509-fcf8-4af4-b294-8f721f164668" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_7cb94509-fcf8-4af4-b294-8f721f164668" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_2aac6d43-34cf-4df1-80b5-0d646efe3b94" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_2aac6d43-34cf-4df1-80b5-0d646efe3b94" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_122be2c8-03cb-4967-8483-86e4b765e62d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_122be2c8-03cb-4967-8483-86e4b765e62d" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_db40164f-33da-4c2d-9620-c86494fd1e1a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:to="loc_us-gaap_SegmentDomain_db40164f-33da-4c2d-9620-c86494fd1e1a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:to="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_9432a41f-d5c7-4cb3-a54d-43d9cba6bf6c" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_9432a41f-d5c7-4cb3-a54d-43d9cba6bf6c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_facfa32f-bc90-48ea-b7cf-ad682c5bbbf9" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_facfa32f-bc90-48ea-b7cf-ad682c5bbbf9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_122be2c8-03cb-4967-8483-86e4b765e62d" xlink:to="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_a16cc541-cdcc-475d-89a8-5934bbd0b73d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:to="loc_us-gaap_Goodwill_a16cc541-cdcc-475d-89a8-5934bbd0b73d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_066021ae-fd9d-4c5e-80d8-7dca28a0b770" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_066021ae-fd9d-4c5e-80d8-7dca28a0b770" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_ffd155b9-b4cb-4a4c-84f8-e055548e25fc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:to="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_3581b167-5f56-4c21-be60-20e383a0c68f_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:to="loc_srt_RangeMember_3581b167-5f56-4c21-be60-20e383a0c68f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e5fa9c77-86ba-433e-b6ce-9f531405c7cf" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:to="loc_srt_RangeMember_e5fa9c77-86ba-433e-b6ce-9f531405c7cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_8f8d7c80-3f67-4b5e-8ee5-27c8b74cf590" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_WeightedAverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_e5fa9c77-86ba-433e-b6ce-9f531405c7cf" xlink:to="loc_srt_WeightedAverageMember_8f8d7c80-3f67-4b5e-8ee5-27c8b74cf590" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_318497a5-b102-4bab-9b43-8fdb0eac32ec_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_318497a5-b102-4bab-9b43-8fdb0eac32ec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_31498a1e-fe42-4cad-95be-4f6db3101c2f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PatentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_PatentsMember_31498a1e-fe42-4cad-95be-4f6db3101c2f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_dc240093-1d7d-4c1c-a245-4ec54edd0095" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_CustomerRelationshipsMember_dc240093-1d7d-4c1c-a245-4ec54edd0095" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_1f9ce991-ba8e-4898-8198-9bb06ba60f90" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_1f9ce991-ba8e-4898-8198-9bb06ba60f90" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_4dac5cb7-67af-4087-a452-6a689fdcf8c4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_4dac5cb7-67af-4087-a452-6a689fdcf8c4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffMarketFavorableLeaseMember_2735a44e-6cc4-413d-82f5-02c3e72b785f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OffMarketFavorableLeaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_OffMarketFavorableLeaseMember_2735a44e-6cc4-413d-82f5-02c3e72b785f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2920fa3b-5651-414c-8630-e62995891be2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2920fa3b-5651-414c-8630-e62995891be2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a459f873-7d37-4afb-8773-f1bb38252afb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a459f873-7d37-4afb-8773-f1bb38252afb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_b2b08747-29c2-446d-be0b-17c03828bbbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_b2b08747-29c2-446d-be0b-17c03828bbbe" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fb8bc328-5292-45ff-bdc8-ec17103f2649" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fb8bc328-5292-45ff-bdc8-ec17103f2649" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#AccountsReceivableNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_1af9f0fd-fc75-411e-b580-b208371afc51" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_1af9f0fd-fc75-411e-b580-b208371afc51" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f026b083-5eee-48ac-acfb-016b48151eb1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f026b083-5eee-48ac-acfb-016b48151eb1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_b430df75-0ddd-4f5b-8cb8-b4813a28127f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_b430df75-0ddd-4f5b-8cb8-b4813a28127f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_94d4c3e6-7bcd-42df-bdad-8bd75ac207b2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_b430df75-0ddd-4f5b-8cb8-b4813a28127f" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_94d4c3e6-7bcd-42df-bdad-8bd75ac207b2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_7bcf7f75-6997-4822-b62e-2b97bcf87056" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_1af9f0fd-fc75-411e-b580-b208371afc51" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_7bcf7f75-6997-4822-b62e-2b97bcf87056" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMattersNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_a33b71b5-0961-4321-8162-d848c55d13e2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_a33b71b5-0961-4321-8162-d848c55d13e2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_4d3ec924-75ce-46e0-b560-9f2c20845e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_4d3ec924-75ce-46e0-b560-9f2c20845e1a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_9f79da04-7102-4296-946e-3a8a27cde249" xlink:href="fstr-20250930.xsd#fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_4d3ec924-75ce-46e0-b560-9f2c20845e1a" xlink:to="loc_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_9f79da04-7102-4296-946e-3a8a27cde249" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_7f2b7460-6d99-4f40-ab81-55ef88c16081_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:to="loc_us-gaap_CreditFacilityDomain_7f2b7460-6d99-4f40-ab81-55ef88c16081_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_50c7110a-65bf-489a-8f0e-fdc405a4a882" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:to="loc_us-gaap_CreditFacilityDomain_50c7110a-65bf-489a-8f0e-fdc405a4a882" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_50c7110a-65bf-489a-8f0e-fdc405a4a882" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_0a48587d-e1f3-43e4-8932-605a5fe949d7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LetterOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:to="loc_us-gaap_LetterOfCreditMember_0a48587d-e1f3-43e4-8932-605a5fe949d7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SwingLoanMember_aae43d79-6453-48f2-9890-356d2aaa9109" xlink:href="fstr-20250930.xsd#fstr_SwingLoanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:to="loc_fstr_SwingLoanMember_aae43d79-6453-48f2-9890-356d2aaa9109" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_IncrementalLoansMember_4b7fea51-dc67-492d-9469-ea353759c0b6" xlink:href="fstr-20250930.xsd#fstr_IncrementalLoansMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:to="loc_fstr_IncrementalLoansMember_4b7fea51-dc67-492d-9469-ea353759c0b6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_6e669dfd-f155-4e82-ae23-2c2613eaaccf_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_6e669dfd-f155-4e82-ae23-2c2613eaaccf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_a09e8e73-9928-4327-9980-ea7f82f5631b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_a09e8e73-9928-4327-9980-ea7f82f5631b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FifthAmendedAndRestatedCreditAgreementMember_fd37c597-2bf1-4bbe-96ef-c4ce934a0d1e" xlink:href="fstr-20250930.xsd#fstr_FifthAmendedAndRestatedCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_a09e8e73-9928-4327-9980-ea7f82f5631b" xlink:to="loc_fstr_FifthAmendedAndRestatedCreditAgreementMember_fd37c597-2bf1-4bbe-96ef-c4ce934a0d1e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_7fa6c388-33bc-4804-aeee-c860c48ac615_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_7fa6c388-33bc-4804-aeee-c860c48ac615_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_21a41923-59d7-40a0-a3e5-8d05d798b55e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_21a41923-59d7-40a0-a3e5-8d05d798b55e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_53fab7fa-04db-4721-a483-7cdc840cc6b5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_53fab7fa-04db-4721-a483-7cdc840cc6b5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_511f3446-a35f-4fb2-b9b4-2f520a4de9e0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:to="loc_us-gaap_VariableRateDomain_511f3446-a35f-4fb2-b9b4-2f520a4de9e0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:to="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OvernightBankFundingRateMember_153d6519-9d29-4fbb-a4df-bc34753c102d" xlink:href="fstr-20250930.xsd#fstr_OvernightBankFundingRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_fstr_OvernightBankFundingRateMember_153d6519-9d29-4fbb-a4df-bc34753c102d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DailySimpleSOFRMember_827766a1-faf2-439e-86ad-680f039da452" xlink:href="fstr-20250930.xsd#fstr_DailySimpleSOFRMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_fstr_DailySimpleSOFRMember_827766a1-faf2-439e-86ad-680f039da452" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_5337d373-4151-43a5-b78c-09781fcaad1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BaseRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_us-gaap_BaseRateMember_5337d373-4151-43a5-b78c-09781fcaad1a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrMember_af174fc5-99bd-4f06-a8fd-b65c969ffcb7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SecuredOvernightFinancingRateSofrMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_us-gaap_SecuredOvernightFinancingRateSofrMember_af174fc5-99bd-4f06-a8fd-b65c969ffcb7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_5e9368a2-26d2-41c3-bae8-eaf71037d0a9_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:to="loc_srt_RangeMember_5e9368a2-26d2-41c3-bae8-eaf71037d0a9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:to="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_5595524e-85be-4f2f-860b-09c5cdc4bbba" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:to="loc_srt_MinimumMember_5595524e-85be-4f2f-860b-09c5cdc4bbba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d4640469-dbce-4afe-897f-6753d5a8e1c6" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:to="loc_srt_MaximumMember_d4640469-dbce-4afe-897f-6753d5a8e1c6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_44ece441-ff09-4283-80bd-3e8b5bd64e70" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_44ece441-ff09-4283-80bd-3e8b5bd64e70" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_7fe4cfe9-4cfd-45c9-b0fa-af5cece37786" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_DebtInstrumentTerm_7fe4cfe9-4cfd-45c9-b0fa-af5cece37786" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_ba495b27-1f6b-44f7-86b2-3fb4d0b94dc4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_ba495b27-1f6b-44f7-86b2-3fb4d0b94dc4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_96bd90e8-e663-49ef-a26a-103de2a76e71" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentNumberOfFinancialCovenants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_96bd90e8-e663-49ef-a26a-103de2a76e71" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_23ca9be2-4e33-42f4-b24e-1fecc586cc6d" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentCovenantLeverageRatioMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_23ca9be2-4e33-42f4-b24e-1fecc586cc6d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_a08cda4a-265f-443c-9562-d17133d746a9" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_a08cda4a-265f-443c-9562-d17133d746a9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_d0994b65-b777-4d72-abc4-b9cdba4e1859" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_LineOfCredit_d0994b65-b777-4d72-abc4-b9cdba4e1859" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#StockBasedCompensationNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7302628-cfae-4d37-9141-8b890caac710_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7302628-cfae-4d37-9141-8b890caac710_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_6679a82a-58c4-420d-a75b-0b772aa9b6e7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:to="loc_us-gaap_RestrictedStockMember_6679a82a-58c4-420d-a75b-0b772aa9b6e7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_27b7ebd4-e326-48ed-99cb-661171ec34d8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:to="loc_us-gaap_PerformanceSharesMember_27b7ebd4-e326-48ed-99cb-661171ec34d8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_6f320a1e-4417-42da-ba9a-8b865cceba70_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_6f320a1e-4417-42da-ba9a-8b865cceba70_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_043b8966-a0a7-4cba-a917-6fc135c5b8dc" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_043b8966-a0a7-4cba-a917-6fc135c5b8dc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember_13aafcbe-af71-4a25-82db-e075f086923e" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_DirectorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_043b8966-a0a7-4cba-a917-6fc135c5b8dc" xlink:to="loc_srt_DirectorMember_13aafcbe-af71-4a25-82db-e075f086923e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:to="loc_us-gaap_PlanNameDomain_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4e8f4260-200c-4672-9a19-b5b0ccaa35d7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:to="loc_us-gaap_PlanNameDomain_4e8f4260-200c-4672-9a19-b5b0ccaa35d7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_152f67ce-54f5-4d52-99bc-9d9670e9adba" xlink:href="fstr-20250930.xsd#fstr_OmnibusPlanAndEquityAndIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_4e8f4260-200c-4672-9a19-b5b0ccaa35d7" xlink:to="loc_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_152f67ce-54f5-4d52-99bc-9d9670e9adba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_d91cc063-7b58-42fa-8533-1993cdd0fd99" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ShareBasedCompensation_d91cc063-7b58-42fa-8533-1993cdd0fd99" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_8725a034-ddab-4fab-a466-52e83858b1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_8725a034-ddab-4fab-a466-52e83858b1cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_375d5180-bc2a-4b49-9860-72af09abfbcc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_375d5180-bc2a-4b49-9860-72af09abfbcc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1631b58d-8184-4457-b633-d39800c20259" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1631b58d-8184-4457-b633-d39800c20259" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6c5de2d1-beac-4f79-b9b6-04bf935f8fe1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6c5de2d1-beac-4f79-b9b6-04bf935f8fe1" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:to="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1efd2c32-d73b-4ce5-90c9-288874aa3582_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1efd2c32-d73b-4ce5-90c9-288874aa3582_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_d0ee8b49-1ab0-4b48-95d5-b426797c893c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:to="loc_us-gaap_RestrictedStockMember_d0ee8b49-1ab0-4b48-95d5-b426797c893c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_22c4c0d2-e0be-43d0-9b60-85975bbb0014" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:to="loc_us-gaap_PerformanceSharesMember_22c4c0d2-e0be-43d0-9b60-85975bbb0014" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_dddb1303-6ad6-4e78-8c2e-d9ceba5d2d09" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_dddb1303-6ad6-4e78-8c2e-d9ceba5d2d09" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_fa325d22-b94e-40e4-9341-436ac3080a94" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_fa325d22-b94e-40e4-9341-436ac3080a94" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60d7f814-31a2-4c2c-ab9b-5c9d6d435335" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60d7f814-31a2-4c2c-ab9b-5c9d6d435335" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_d0cc09f6-1c54-4b0b-baf6-126c54f6e4cb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_d0cc09f6-1c54-4b0b-baf6-126c54f6e4cb" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a313ce39-284b-4107-b485-2f071a8aa1a9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_e939a517-8543-4d57-bd93-8144999d13ea" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_e939a517-8543-4d57-bd93-8144999d13ea" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_e349053e-d0a1-4814-865f-d5dbaa7a2aff" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_e349053e-d0a1-4814-865f-d5dbaa7a2aff" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5ddc015a-b305-4dcc-9a4d-a53124667ccd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5ddc015a-b305-4dcc-9a4d-a53124667ccd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fb90957e-fa96-41e2-b046-4d0161033de8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fb90957e-fa96-41e2-b046-4d0161033de8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_443204b4-8efd-4dda-9f94-bd4fc60ff958" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurementsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_526ad501-9610-446e-863c-9c3c86bcdea3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_526ad501-9610-446e-863c-9c3c86bcdea3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SwapMember_3e9a27a7-a3f9-4411-b05e-d04ecba662f9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SwapMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:to="loc_us-gaap_SwapMember_3e9a27a7-a3f9-4411-b05e-d04ecba662f9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_Swap2Member_32b7a133-b498-4280-a115-7f2590b1347a" xlink:href="fstr-20250930.xsd#fstr_Swap2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:to="loc_fstr_Swap2Member_32b7a133-b498-4280-a115-7f2590b1347a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount_0509b391-0b50-4b17-9e28-8ca271b0a26a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:to="loc_us-gaap_DerivativeNotionalAmount_0509b391-0b50-4b17-9e28-8ca271b0a26a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_e8a860a5-04c2-4cbe-b337-1238c3f7b6c8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:to="loc_us-gaap_InvestmentIncomeInterest_e8a860a5-04c2-4cbe-b337-1238c3f7b6c8" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3720b111-935f-4282-bd44-c240052ae515_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3720b111-935f-4282-bd44-c240052ae515_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_7ce63449-d51d-42e0-8d91-7df34d0f6b0f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_7ce63449-d51d-42e0-8d91-7df34d0f6b0f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_4358a9fa-5cd2-46bb-b7dd-26c724e2300a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_4358a9fa-5cd2-46bb-b7dd-26c724e2300a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_ebd8d33b-87cc-486c-815d-77a32c26a068" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_ebd8d33b-87cc-486c-815d-77a32c26a068" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_1390673b-7917-43a8-90f4-3f9a44f289f7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:to="loc_us-gaap_DerivativeAssets_1390673b-7917-43a8-90f4-3f9a44f289f7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_e5ccece1-1d9d-4182-b5c3-048c786083cc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_e5ccece1-1d9d-4182-b5c3-048c786083cc" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_94ce74c5-e67c-4abb-b8e5-6f796208270e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_94ce74c5-e67c-4abb-b8e5-6f796208270e" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_36aa18fc-db39-434a-b7bb-b75509a500b0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_36aa18fc-db39-434a-b7bb-b75509a500b0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_afd73666-6ac2-4876-a85d-3e553e354b09" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:to="loc_us-gaap_DomesticPlanMember_afd73666-6ac2-4876-a85d-3e553e354b09" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_07bfc647-10f1-4589-89bb-67e64f68b725" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_afd73666-6ac2-4876-a85d-3e553e354b09" xlink:to="loc_country_US_07bfc647-10f1-4589-89bb-67e64f68b725" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:to="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_bc58a95e-7e82-45c1-8914-eccbf4ba95b3" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CA"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:to="loc_country_CA_bc58a95e-7e82-45c1-8914-eccbf4ba95b3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_5204431c-b333-41a6-9e89-f8fe94de8b6f" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:to="loc_country_GB_5204431c-b333-41a6-9e89-f8fe94de8b6f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfDefinedContributionPlans_af540c40-4599-41a9-a249-2bfaa2e6d6b5" xlink:href="fstr-20250930.xsd#fstr_NumberOfDefinedContributionPlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_94ce74c5-e67c-4abb-b8e5-6f796208270e" xlink:to="loc_fstr_NumberOfDefinedContributionPlans_af540c40-4599-41a9-a249-2bfaa2e6d6b5" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansScheduleofNetBenefitCostsDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_08d35f7c-9b97-4116-9e51-3426e6aa2800_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_08d35f7c-9b97-4116-9e51-3426e6aa2800_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_4faca36e-9880-4cb1-a996-080d659abc67" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_4faca36e-9880-4cb1-a996-080d659abc67" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_597c7d02-bb75-4465-a2a5-2358cee6244e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_4faca36e-9880-4cb1-a996-080d659abc67" xlink:to="loc_us-gaap_ForeignPlanMember_597c7d02-bb75-4465-a2a5-2358cee6244e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_3880e700-f8b9-41a5-b5cf-ebb37bd2aede" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_597c7d02-bb75-4465-a2a5-2358cee6244e" xlink:to="loc_country_GB_3880e700-f8b9-41a5-b5cf-ebb37bd2aede" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_55900a29-8bc6-46ea-b6fd-e8fb3c279b8f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_55900a29-8bc6-46ea-b6fd-e8fb3c279b8f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_42f7c78a-93bf-484a-8133-5426d60843c4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_42f7c78a-93bf-484a-8133-5426d60843c4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_e5cb3a5d-0470-4659-912b-3ec02852bdb8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_e5cb3a5d-0470-4659-912b-3ec02852bdb8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_704b23cb-8a45-4b04-a2b1-53042b567296" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_704b23cb-8a45-4b04-a2b1-53042b567296" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_cf856b04-c580-4b31-93e3-4fc1901f25a0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_cf856b04-c580-4b31-93e3-4fc1901f25a0" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansScheduleofCostsofRetirementPlansDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_548eeb5a-deeb-4175-89a0-cadd10dd8b37" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_548eeb5a-deeb-4175-89a0-cadd10dd8b37" xlink:to="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_346a1a04-fc6c-407c-924a-7ce69f821817_default" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_346a1a04-fc6c-407c-924a-7ce69f821817_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_0a4fba71-60d5-4bf3-b15f-bab123efe0ca" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:to="loc_us-gaap_DomesticPlanMember_0a4fba71-60d5-4bf3-b15f-bab123efe0ca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_3c52570d-015c-4cae-9001-d9083a335dd5" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_0a4fba71-60d5-4bf3-b15f-bab123efe0ca" xlink:to="loc_country_US_3c52570d-015c-4cae-9001-d9083a335dd5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:to="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_84450ad0-390f-4c0e-8e17-e5f4360c31a3" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CA"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:to="loc_country_CA_84450ad0-390f-4c0e-8e17-e5f4360c31a3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_411b45a9-5273-46d7-907e-8dfe65636b2d" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:to="loc_country_GB_411b45a9-5273-46d7-907e-8dfe65636b2d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_a1fe9bc4-acaf-4ed2-bd42-bd11215c3810" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_548eeb5a-deeb-4175-89a0-cadd10dd8b37" xlink:to="loc_us-gaap_DefinedContributionPlanCostRecognized_a1fe9bc4-acaf-4ed2-bd42-bd11215c3810" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#CommitmentsandContingentLiabilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:to="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_be35110e-caa2-465a-ae7e-b8a6ca86c492_default" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:to="loc_srt_NameOfMajorCustomerDomain_be35110e-caa2-465a-ae7e-b8a6ca86c492_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_9a46a1b3-d86f-4b03-a877-fb9001991450" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:to="loc_srt_NameOfMajorCustomerDomain_9a46a1b3-d86f-4b03-a877-fb9001991450" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UPRRMember_15f56440-d9a6-4db9-ba5d-6cda0d945280" xlink:href="fstr-20250930.xsd#fstr_UPRRMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_9a46a1b3-d86f-4b03-a877-fb9001991450" xlink:to="loc_fstr_UPRRMember_15f56440-d9a6-4db9-ba5d-6cda0d945280" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_d006eb04-2619-4c40-b59f-8d149f056106" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_d006eb04-2619-4c40-b59f-8d149f056106" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_e1e75152-29ca-4172-8253-ad83b9144407" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_e1e75152-29ca-4172-8253-ad83b9144407" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_f153f92f-00f1-4e1a-b392-3ec474141226" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_f153f92f-00f1-4e1a-b392-3ec474141226" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementInstallmentPaymentTerm_d3d69163-61b3-4161-9d20-7697e472e272" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementInstallmentPaymentTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_LitigationSettlementInstallmentPaymentTerm_d3d69163-61b3-4161-9d20-7697e472e272" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_1f6e0fac-96c0-400c-ab52-c859567cb60d" xlink:href="fstr-20250930.xsd#fstr_NumberOfCompaniesReceivingGeneralNoticeLetter"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_1f6e0fac-96c0-400c-ab52-c859567cb60d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PresentValueOfProposedRemedialWork_ce4b9d67-19a2-4cc8-ac02-324195d58b6c" xlink:href="fstr-20250930.xsd#fstr_PresentValueOfProposedRemedialWork"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_PresentValueOfProposedRemedialWork_ce4b9d67-19a2-4cc8-ac02-324195d58b6c" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UndiscoveredRemedialWork_8dd15b2a-39d6-437a-b0b7-4b9077a79124" xlink:href="fstr-20250930.xsd#fstr_UndiscoveredRemedialWork"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_UndiscoveredRemedialWork_8dd15b2a-39d6-437a-b0b7-4b9077a79124" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_b0969f8e-366c-46ed-aebc-a117779297ab" xlink:href="fstr-20250930.xsd#fstr_RemedialWorkAnticipatedCleanUpPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_b0969f8e-366c-46ed-aebc-a117779297ab" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_c9e201ca-85ac-455f-8d6c-82c7100deb21" xlink:href="fstr-20250930.xsd#fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_c9e201ca-85ac-455f-8d6c-82c7100deb21" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_4297134a-8057-494d-aa4e-cc1367315ccb" xlink:href="fstr-20250930.xsd#fstr_NumberOfPartiesRequiredToPerformRemedialWork"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_4297134a-8057-494d-aa4e-cc1367315ccb" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccrualForEnvironmentalLossContingencies_63155d0e-4a0f-4798-9b55-b2f49f982ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccrualForEnvironmentalLossContingencies"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_us-gaap_AccrualForEnvironmentalLossContingencies_63155d0e-4a0f-4798-9b55-b2f49f982ac6" xlink:type="arc" order="10"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>fstr-20250930_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:7d5ac89a-83a2-47ec-b376-138d8c6e27e5,g:618b3232-2c41-4f96-88c5-426a8015ae6c-->
<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_FiniteLivedIntangibleAssetsAccumulatedAmortization_74e70806-59ec-4860-9f95-e69a0aaec5e2_negatedLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accumulated Amortization</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/2025/elts/us-gaap-2025.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_srt_RangeMember_05744316-e5fb-4b2d-9baa-155d508205ff_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Range [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/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_b8f21b76-3626-4d67-b6b7-2f0df09586c0_negatedLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Expected return on plan assets</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Expected Return (Loss) on Plan Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignPlanMember_76edcdfc-4c34-445a-95a6-897d055dec3b_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Plan</link:label>
    <link:label id="lab_us-gaap_ForeignPlanMember_label_en-US" xlink:label="lab_us-gaap_ForeignPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignPlanMember" xlink:to="lab_us-gaap_ForeignPlanMember" 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/2025/ecd-2025.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_7f5e8097-6b01-479e-9984-0f06bb4f90d2_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/2025/elts/us-gaap-2025.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_dei_EntityFileNumber_82d35b69-4765-41bb-964a-85b9e5e8a8a0_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Commission 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/2025/dei-2025.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_AdditionalPaidInCapitalMember_cd289662-376a-4419-a6c5-74a44fbeb2a3_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">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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_NewAccountingPronouncementsPolicyPolicyTextBlock_aa79f20e-e212-44a5-a1c7-311bfbd64367_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">Recently Issued Accounting Standards</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/2025/elts/us-gaap-2025.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_fstr_ContractWithCustomerLiabilityRollForward_3f5bfc84-e41a-4e21-9ce0-2d8545609a38_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract Liabilities</link:label>
    <link:label id="lab_fstr_ContractWithCustomerLiabilityRollForward_label_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract With Customer Liability [Roll Forward]</link:label>
    <link:label id="lab_fstr_ContractWithCustomerLiabilityRollForward_documentation_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract With Customer Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityRollForward" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerLiabilityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward" xlink:to="lab_fstr_ContractWithCustomerLiabilityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_dcb8eaf0-62e3-40c4-ad69-a04884e19708_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/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SecuredOvernightFinancingRateSofrMember_ccdd792f-718f-46bf-96ff-6de7306ff978_terseLabel_en-US" xlink:label="lab_us-gaap_SecuredOvernightFinancingRateSofrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">SOFR</link:label>
    <link:label id="lab_us-gaap_SecuredOvernightFinancingRateSofrMember_label_en-US" xlink:label="lab_us-gaap_SecuredOvernightFinancingRateSofrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SecuredOvernightFinancingRateSofrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecuredOvernightFinancingRateSofrMember" xlink:to="lab_us-gaap_SecuredOvernightFinancingRateSofrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_9b1871ee-d2c1-4353-af1a-1a3e59959f95_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/2025/elts/us-gaap-2025.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfRestructuringDomain" xlink:to="lab_us-gaap_TypeOfRestructuringDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNonoperatingNet_ece320c5-4bfd-4d66-ba7a-6d8e1ddf7983_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Interest expense - net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNonoperatingNet_aca0ea43-486c-4b56-a78b-1eb759f58c27_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest expense - net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNonoperatingNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest Income (Expense), Nonoperating</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillLineItems_048fc514-c2e2-4e93-b5bc-e266495dfa3a_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/2025/elts/us-gaap-2025.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_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_EarningsPerShareBasic_b40e8158-243c-4c54-bc82-2d3aaad5ab68_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Basic earnings per common share (in USD per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_c193fc6c-ff06-4e75-80f4-9e79790be54f_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic earnings per common share (in USD per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_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/2025/ecd-2025.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_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_4d6c5df7-789f-4675-86c7-6c6be467b21c_terseLabel_en-US" xlink:label="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of potentially responsible parties included in agreement</link:label>
    <link:label id="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_label_en-US" xlink:label="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Potentially Responsible Parties Included In Agreement</link:label>
    <link:label id="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_documentation_en-US" xlink:label="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number Of Potentially Responsible Parties Included In Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:href="fstr-20250930.xsd#fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:to="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_ae03a97e-37b3-4343-ac74-13a3e1ba8f43_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/2025/elts/us-gaap-2025.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_fstr_InfrastructureSolutionsSegmentMember_b4b93f0c-c4cc-4ae4-a97a-f8e9987d8d11_terseLabel_en-US" xlink:label="lab_fstr_InfrastructureSolutionsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Infrastructure Solutions</link:label>
    <link:label id="lab_fstr_InfrastructureSolutionsSegmentMember_348c8b6d-34c1-4a8f-943c-f7a0ba2c5643_verboseLabel_en-US" xlink:label="lab_fstr_InfrastructureSolutionsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Infrastructure Solutions</link:label>
    <link:label id="lab_fstr_InfrastructureSolutionsSegmentMember_label_en-US" xlink:label="lab_fstr_InfrastructureSolutionsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Infrastructure Solutions Segment [Member]</link:label>
    <link:label id="lab_fstr_InfrastructureSolutionsSegmentMember_documentation_en-US" xlink:label="lab_fstr_InfrastructureSolutionsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Infrastructure Solutions Segment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_InfrastructureSolutionsSegmentMember" xlink:to="lab_fstr_InfrastructureSolutionsSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_4bf9d153-1cfc-4d4a-9a74-76e014cee56b_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">Schedule of Segment Reporting Information, 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/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_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/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis_21ec62e3-7bae-47eb-ac02-8a9fa4e03ad9_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_a43be5df-48e6-4d38-bfc6-8980a06de485_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue remaining performance obligation</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligation" 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/2025/ecd-2025.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_us-gaap_RevenueRemainingPerformanceObligationPercentage_85ede74f-b5f6-42b9-8193-f3c53601588e_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue remaining performance obligation</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_32d0d990-6188-4230-a2c7-bf111256e369_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-based compensation</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/2025/elts/us-gaap-2025.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_fstr_Swap2Member_03555968-0e26-40da-8491-1c8231c66c9e_terseLabel_en-US" xlink:label="lab_fstr_Swap2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Swap 2</link:label>
    <link:label id="lab_fstr_Swap2Member_label_en-US" xlink:label="lab_fstr_Swap2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Swap 2 [Member]</link:label>
    <link:label id="lab_fstr_Swap2Member_documentation_en-US" xlink:label="lab_fstr_Swap2Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Swap 2</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_Swap2Member" xlink:href="fstr-20250930.xsd#fstr_Swap2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_Swap2Member" xlink:to="lab_fstr_Swap2Member" 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_fstr_LitigationSettlementInstallmentPaymentTerm_5a631571-4356-4515-924d-c6b4e75035e3_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payment period</link:label>
    <link:label id="lab_fstr_LitigationSettlementInstallmentPaymentTerm_label_en-US" xlink:label="lab_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Settlement Installment Payment Term</link:label>
    <link:label id="lab_fstr_LitigationSettlementInstallmentPaymentTerm_documentation_en-US" xlink:label="lab_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Litigation Settlement Installment Payment Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementInstallmentPaymentTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:to="lab_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_ef593757-ab08-498f-bf62-b1eb1536bf74_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrealized loss on cash flow hedge, tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_c78ff34b-d883-4465-b268-41ea9593a584_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 L.B. Foster Company stockholders&#8217; equity</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/2025/elts/us-gaap-2025.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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_90810efc-08a4-46e6-8355-d63fe66082f3_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 (loss) income, net of tax:</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_CommonStockSharesAuthorized_d594516e-3b25-45d6-95b0-208f014aecd4_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/2025/elts/us-gaap-2025.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_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/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PatentsMember_a6d91b18-9fc4-4509-ab84-278d5a91015d_terseLabel_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Patents</link:label>
    <link:label id="lab_us-gaap_PatentsMember_label_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Patents [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PatentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PatentsMember" xlink:to="lab_us-gaap_PatentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_eadd0d41-accb-43a4-9b92-36894b790691_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common shares issues net of shares withheld (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_2d47713e-a823-4f31-9208-d227f5404762_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/2025/elts/us-gaap-2025.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_LiabilitiesAndStockholdersEquity_96a1ce64-6c38-4610-b8f8-02beea4557a5_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 STOCKHOLDERS&#8217; 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/2025/elts/us-gaap-2025.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_fstr_OtherCorporateCharges_dfafc0bf-575f-4cb6-972e-4b9bfd2560e3_negatedTerseLabel_en-US" xlink:label="lab_fstr_OtherCorporateCharges" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other corporate expenses - net</link:label>
    <link:label id="lab_fstr_OtherCorporateCharges_label_en-US" xlink:label="lab_fstr_OtherCorporateCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Corporate Charges</link:label>
    <link:label id="lab_fstr_OtherCorporateCharges_documentation_en-US" xlink:label="lab_fstr_OtherCorporateCharges" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Other Corporate Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherCorporateCharges" xlink:href="fstr-20250930.xsd#fstr_OtherCorporateCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OtherCorporateCharges" xlink:to="lab_fstr_OtherCorporateCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_63774856-b2a7-483c-b732-38e2392cbc3b_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/2025/elts/us-gaap-2025.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_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/2025/dei-2025.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_srt_MaximumMember_6ccef128-fe30-48a7-87f1-04729e9ae6d7_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/2025/elts/srt-2025.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_FiniteLivedIntangibleAssetUsefulLife_a95df083-016f-443b-993e-8ba46b6a3624_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted Average Amortization Period In Years</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_6f0f767b-a1c8-43c7-a826-f6ab527a03c3_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net loss attributable to noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_60baeb1d-fe65-4dd6-8568-afcf1466a14c_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net loss attributable to noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Income (Loss) Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentExpenditureAdditionToLongLivedAssets_d7a56092-2c96-42ce-9350-81840c4b285d_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expenditures for Long-Lived Assets</link:label>
    <link:label id="lab_us-gaap_SegmentExpenditureAdditionToLongLivedAssets_label_en-US" xlink:label="lab_us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment, Expenditure, Addition to Long-Lived Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:to="lab_us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5c346238-7d77-4d37-a590-41e0f2c7ff07_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other intangibles - net (Note 4)</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5b352ca1-5e8f-4f6c-b5cd-62d58848800b_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net Carrying Amount</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_5511ecb3-abdf-46cd-86d0-503318600ae1_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Stock</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6e3bf1e9-e68d-4b79-8a96-4a37b6e75a37_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/2025/elts/us-gaap-2025.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_TreasuryStockCommonMember_fd5c1e5e-c5cb-4779-8841-55e550e0ad9f_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 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/2025/elts/us-gaap-2025.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_GainLossOnDispositionOfAssets_45515723-c1a6-496c-92f1-9787e968794a_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnDispositionOfAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gain on sales and disposals of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_GainLossOnDispositionOfAssets_label_en-US" xlink:label="lab_us-gaap_GainLossOnDispositionOfAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnDispositionOfAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnDispositionOfAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnDispositionOfAssets" xlink:to="lab_us-gaap_GainLossOnDispositionOfAssets" 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/2025/ecd-2025.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_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/2025/ecd-2025.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_us-gaap_CompensationAndRetirementDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_e8ed8800-903b-4f72-b840-dfbdfd6a9a1e_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" 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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" 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, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" 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/2025/ecd-2025.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_DebtInstrumentRedemptionPeriodOneMember_50b9ac2d-73e7-4722-af5d-3481172fbcc0_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period One</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLenderDomain_bfde3936-b0f4-4044-af73-e956890a4dc5_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLenderDomain_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="lab_us-gaap_LineOfCreditFacilityLenderDomain" 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/2025/ecd-2025.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_9e21ae5d-a3b6-4677-9d57-7078e8950e6b_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 income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7168c81b-0fd6-43fc-aab2-6932a80c2c46_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 income 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/2025/elts/us-gaap-2025.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_dei_EntityShellCompany_c6b09991-2bb1-408e-935a-463fe2dc2654_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/2025/dei-2025.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_003c223d-9b77-4c23-a282-53b913b80af8_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 long-term 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/2025/elts/us-gaap-2025.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_ProceedsFromSaleOfPropertyPlantAndEquipment_fe3edcdd-0166-43d0-9bc6-d29691fc56f5_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from the sale of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain_50bbb9de-15d9-41d7-935c-14b327872e2f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_5563012e-aef2-460f-adb8-e4ca3b6ce440_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/2025/elts/us-gaap-2025.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_OperatingSegmentsMember_4a337cb9-e695-41c2-b929-5a751052f582_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/2025/elts/us-gaap-2025.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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_400079c0-692d-4878-a27e-02091f0b8b54_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrealized loss on cash flow hedges, net of tax expense of $0</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_f60d2a39-fd0e-43ca-96d4-bf5694d15876_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Unrealized derivative loss on cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:type="arc" order="1"/>
    <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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_78285eb4-bd9a-4598-96e3-0d57af5fa848_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Amounts attributable to noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" 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/2025/ecd-2025.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_LineOfCreditFacilityTable_2365f61d-cb26-4fb9-8ccf-6109df89ec3d_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityTable" xlink:to="lab_us-gaap_LineOfCreditFacilityTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_69e75ada-f76a-4b4f-a93d-ba916cf8e17f_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Other Noncurrent Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_abb9b87c-5b61-4d06-939f-576539ec48af_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">Comprehensive income attributable to L.B. Foster Company</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/2025/elts/us-gaap-2025.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_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e88b866d-525c-4bbe-989a-35cdff732ebb_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_us-gaap_RestructuringReserve_8594dd22-263c-4143-819c-faa3de746ecf_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restructuring reserve</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_5b6d51fe-b2ba-414c-a763-5a489a519bbb_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">Balance as of December 31, 2024</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_7a9add33-b580-4046-a2b3-dd8504909e44_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">Balance as of September 30, 2025</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/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringReserve"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserve" xlink:to="lab_us-gaap_RestructuringReserve" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LetterOfCreditMember_87899d06-b521-4453-b93a-23715b85d674_terseLabel_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Letter of Credit</link:label>
    <link:label id="lab_us-gaap_LetterOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Letter of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LetterOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LetterOfCreditMember" xlink:to="lab_us-gaap_LetterOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_ea242bb5-99f5-417a-a9cf-53069b924344_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax liabilities (Note 9)</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/2025/elts/us-gaap-2025.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_dei_DocumentFiscalPeriodFocus_89de1096-1c87-44fa-ab97-9c719820e228_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/2025/dei-2025.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_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/2025/ecd-2025.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_us-gaap_OffMarketFavorableLeaseMember_59dff1c0-f774-40dd-97f9-8d023121ef04_terseLabel_en-US" xlink:label="lab_us-gaap_OffMarketFavorableLeaseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Favorable lease</link:label>
    <link:label id="lab_us-gaap_OffMarketFavorableLeaseMember_label_en-US" xlink:label="lab_us-gaap_OffMarketFavorableLeaseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Off-Market Favorable Lease [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffMarketFavorableLeaseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OffMarketFavorableLeaseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffMarketFavorableLeaseMember" xlink:to="lab_us-gaap_OffMarketFavorableLeaseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_4c858926-a246-4d3b-9618-390951a69c17_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/2025/elts/us-gaap-2025.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_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_dc697e84-2ade-4db0-9e7c-d273b9bb2bd3_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation settlement amount, non-current</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_label_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount Awarded To Other Party, Non-Current</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_documentation_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount Awarded To Other Party, Non-Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:to="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_a2fde557-42e1-42d6-8dac-fdd3754923dc_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_2f27cc35-0808-4f3b-8c59-0895da700012_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">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/2025/elts/us-gaap-2025.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_7002115a-8b61-4279-8ecd-69fd382021de_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/2025/dei-2025.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_75dcd1a1-07ce-4893-8338-8a54af404ed5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares vested (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod_9800d795-4547-401e-88fa-8ad68c005cb2_terseLabel_en-US" xlink:label="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Anticipated clean period</link:label>
    <link:label id="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod_label_en-US" xlink:label="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Remedial Work Anticipated Clean Up Period</link:label>
    <link:label id="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod_documentation_en-US" xlink:label="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Remedial Work Anticipated Clean Up Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:href="fstr-20250930.xsd#fstr_RemedialWorkAnticipatedCleanUpPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:to="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_c6afc155-dbf8-455f-9cc8-6d3857cae297_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</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/2025/dei-2025.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_896e6c7d-07b8-4de4-be2f-e87914e7fb62_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">Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_BusinessExitCosts1_471bd145-2dda-4247-9dc1-de44339ecc0b_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessExitCosts1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Inventory and fixed asset exit costs (Note 2)</link:label>
    <link:label id="lab_us-gaap_BusinessExitCosts1_d5587a90-78be-4c0e-b8ed-6d694ec17972_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 costs</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/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessExitCosts1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessExitCosts1" xlink:to="lab_us-gaap_BusinessExitCosts1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_d40d38c5-46c3-4921-bb8a-9fd4163177af_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">Inventory</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_IncomeStatementLocationDomain_f904fe4b-ea6b-4369-aaaf-fbb9275b27ae_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement of Income Location, Balance [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Income Location, Balance [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_dei_EntityEmergingGrowthCompany_0a4fdbd9-6d45-4221-a82b-8536a5bae865_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/2025/dei-2025.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_dei_EntityCommonStockSharesOutstanding_403b293e-ea1d-418b-bcbc-ccf7a5e82d01_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 (in shares)</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/2025/dei-2025.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_36b9b80c-7553-4bc7-9cf0-e2b21e63b104_terseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Right-of-use assets obtained in exchange for lease liabilities</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_UPRRMember_293918d5-e121-482a-876f-dd278d807715_terseLabel_en-US" xlink:label="lab_fstr_UPRRMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">UPRR</link:label>
    <link:label id="lab_fstr_UPRRMember_label_en-US" xlink:label="lab_fstr_UPRRMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UPRR [Member]</link:label>
    <link:label id="lab_fstr_UPRRMember_documentation_en-US" xlink:label="lab_fstr_UPRRMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The UPRR</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UPRRMember" xlink:href="fstr-20250930.xsd#fstr_UPRRMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_UPRRMember" xlink:to="lab_fstr_UPRRMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1cb99372-2ac0-42a3-b789-46bdee0c2f6a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of stock options outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_RevenueFromContractWithCustomerIncludingAssessedTax_7864ecdc-52e7-4505-ae27-60e036ce1071_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total net sales</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_20b8f4e1-0021-4ea4-8c69-40e79f88f794_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_a7f8443b-e112-40a5-8e8f-b6ad703d7fbf_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Level 2</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_df7ab356-62c5-427c-b1c4-5238cc58db26_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 Liability</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_BusinessAcquisitionAcquireeDomain_1f4ab95f-4c19-40ed-a724-94bbcd90ff4b_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 Combination [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 Combination [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_94692d94-93c8-403a-b6fa-bb7dd7d424c7_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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/2025/elts/us-gaap-2025.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_fstr_OverTimeInputMethodMember_32d17e4c-f205-45e0-9660-6472e925c939_terseLabel_en-US" xlink:label="lab_fstr_OverTimeInputMethodMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Over time input method</link:label>
    <link:label id="lab_fstr_OverTimeInputMethodMember_label_en-US" xlink:label="lab_fstr_OverTimeInputMethodMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Over Time Input Method [Member]</link:label>
    <link:label id="lab_fstr_OverTimeInputMethodMember_documentation_en-US" xlink:label="lab_fstr_OverTimeInputMethodMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Over Time Input Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeInputMethodMember" xlink:href="fstr-20250930.xsd#fstr_OverTimeInputMethodMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OverTimeInputMethodMember" xlink:to="lab_fstr_OverTimeInputMethodMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_d561a8c0-1635-4bde-94c5-ee403f27eedf_verboseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Reserve for uncollectible accounts, expense (benefit)</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_07b951b1-1ba6-4e7f-9b8a-18e8576a62ad_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">Current period provision</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/2025/elts/us-gaap-2025.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_PlanNameAxis_e9f1eff2-c0ab-4f5d-b4cf-6d239748f549_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_678d467f-3f3b-43c1-bd5b-54e5e1d63ac4_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</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/2025/elts/us-gaap-2025.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_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled_7f179d07-672b-4e51-8f7a-d6bdd83a3818_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue recognized but not yet billed</link:label>
    <link:label id="lab_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled_label_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract With Customer, Asset, Revenue Recognized But Not Yet Billed</link:label>
    <link:label id="lab_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled_documentation_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract With Customer, Asset, Revenue Recognized But Not Yet Billed</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" xlink:to="lab_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_90a7ccce-e97b-4a1a-bfac-a9b0b5080947_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">Schedule of 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/2025/elts/us-gaap-2025.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_fstr_SteelProductsSegmentMember_d5f5e5e5-89c8-42ee-bf47-787b23103785_terseLabel_en-US" xlink:label="lab_fstr_SteelProductsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Steel Products</link:label>
    <link:label id="lab_fstr_SteelProductsSegmentMember_label_en-US" xlink:label="lab_fstr_SteelProductsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Steel Products Segment [Member]</link:label>
    <link:label id="lab_fstr_SteelProductsSegmentMember_documentation_en-US" xlink:label="lab_fstr_SteelProductsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Steel Products Segment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsSegmentMember" xlink:href="fstr-20250930.xsd#fstr_SteelProductsSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_SteelProductsSegmentMember" xlink:to="lab_fstr_SteelProductsSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_e0b5a06e-2c9a-4c3b-8892-a0907fa26c1c_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Income, Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeInterest" xlink:to="lab_us-gaap_InvestmentIncomeInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember_4a64d9d3-bb72-43b3-bc6c-026c5d9ef78b_terseLabel_en-US" xlink:label="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fifth Amended And Restated Credit Agreement</link:label>
    <link:label id="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember_label_en-US" xlink:label="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fifth Amended And Restated Credit Agreement [Member]</link:label>
    <link:label id="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember_documentation_en-US" xlink:label="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Fifth Amended And Restated Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FifthAmendedAndRestatedCreditAgreementMember" xlink:href="fstr-20250930.xsd#fstr_FifthAmendedAndRestatedCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_FifthAmendedAndRestatedCreditAgreementMember" xlink:to="lab_fstr_FifthAmendedAndRestatedCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_35aa92b3-7c33-43a7-b271-629e07b78f6f_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">United States</link:label>
    <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_3ed694e6-fe8f-46b3-a60b-2623e466c178_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">Change in operating assets and liabilities:</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">Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_8a20557f-3f4d-41c1-b5f8-c6db876ce6fa_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_b377e4da-fd6b-45c0-beb5-acc5ef15151d_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/2025/elts/us-gaap-2025.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_fstr_DebtInstrumentNumberOfFinancialCovenants_aeed65db-2414-4aa3-8f14-15448fc2e665_terseLabel_en-US" xlink:label="lab_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of financial covenants</link:label>
    <link:label id="lab_fstr_DebtInstrumentNumberOfFinancialCovenants_label_en-US" xlink:label="lab_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Number Of Financial Covenants</link:label>
    <link:label id="lab_fstr_DebtInstrumentNumberOfFinancialCovenants_documentation_en-US" xlink:label="lab_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Debt Instrument, Number Of Financial Covenants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentNumberOfFinancialCovenants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:to="lab_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd6fa592-2495-461e-8f45-70c8163c5128_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Stock and Performance Share Units</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_5fe364ca-1f02-457d-a17e-f771b2d69bb8_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/2025/dei-2025.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_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/2025/ecd-2025.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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_bd254319-a552-4826-b85e-07763e3559c8_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 period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_4ae50cc2-f1a8-488b-a12c-c92dcba59662_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 Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_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/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeAssets_15b26a64-daba-444e-bd65-50b85b08d82a_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest rate swaps</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets" xlink:to="lab_us-gaap_DerivativeAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_d43c477c-2b50-471f-8437-cbf895a89c0e_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">Income tax expense (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_0036c887-9c9b-4f98-b480-06b94e36469b_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense (benefit)</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/2025/elts/us-gaap-2025.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_DebtInstrumentBasisSpreadOnVariableRate1_4ee1e5fb-4b6e-496e-93e9-68bce5e4e1d8_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt instrument, basis spread on variable rate</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_srt_ProductsAndServicesDomain_b95e8437-0a13-4cce-8eb9-a93060aef46e_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Products and Services [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_c33996bb-7292-42cc-9738-196b1d2da821_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductLiabilityContingencyTable_7ee0b9a1-647a-4e5c-9c6f-134ad8db7012_terseLabel_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Table]</link:label>
    <link:label id="lab_us-gaap_ProductLiabilityContingencyTable_label_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable" xlink:to="lab_us-gaap_ProductLiabilityContingencyTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProfitLoss_78ed5c7f-ab9f-4e9b-a30d-4c017ae371e8_totalLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" 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_ProfitLoss_94800b93-728e-4518-a718-5743cb755fe0_terseLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_ProfitLoss_4b77d76e-7ee5-4c6c-9992-bd8d3173ad8e_netLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_ProfitLoss_52cd0369-74b8-42e8-a552-889912b3d8ea_verboseLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income (loss)</link:label>
    <link:label id="lab_us-gaap_ProfitLoss_label_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProfitLoss" xlink:to="lab_us-gaap_ProfitLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork_ff64390a-2539-4740-bb1a-127ab64fb490_terseLabel_en-US" xlink:label="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of parties required to perform remedial design work</link:label>
    <link:label id="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork_label_en-US" xlink:label="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Parties Required To Perform Remedial Work</link:label>
    <link:label id="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork_documentation_en-US" xlink:label="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number Of Parties Required To Perform Remedial Work</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork" xlink:href="fstr-20250930.xsd#fstr_NumberOfPartiesRequiredToPerformRemedialWork"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork" xlink:to="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork" 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/2025/ecd-2025.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_DerivativeNotionalAmount_3f7cdb18-42b6-486d-a1ca-aedd94ff03c0_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, notional amount</link:label>
    <link:label id="lab_us-gaap_DerivativeNotionalAmount_label_en-US" xlink:label="lab_us-gaap_DerivativeNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeNotionalAmount" xlink:to="lab_us-gaap_DerivativeNotionalAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets_81379f92-d85b-4490-83d7-7b08ce37abeb_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Other Current Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets" 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/2025/ecd-2025.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_dei_CityAreaCode_01451742-ac49-40f2-8d68-831edf10846d_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/2025/dei-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_fstr_NumberOfDefinedContributionPlans_dd874146-f9c4-4607-92af-1372bd0eb916_verboseLabel_en-US" xlink:label="lab_fstr_NumberOfDefinedContributionPlans" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Number of defined contribution plans</link:label>
    <link:label id="lab_fstr_NumberOfDefinedContributionPlans_label_en-US" xlink:label="lab_fstr_NumberOfDefinedContributionPlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Defined Contribution Plans</link:label>
    <link:label id="lab_fstr_NumberOfDefinedContributionPlans_documentation_en-US" xlink:label="lab_fstr_NumberOfDefinedContributionPlans" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number Of Defined Contribution Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfDefinedContributionPlans" xlink:href="fstr-20250930.xsd#fstr_NumberOfDefinedContributionPlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_NumberOfDefinedContributionPlans" xlink:to="lab_fstr_NumberOfDefinedContributionPlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_477b4f2c-db25-43e9-93b5-991f902369c2_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">Other accrued liabilities</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/2025/elts/us-gaap-2025.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_47a1f35a-cf6c-4e55-91fa-c9ce7537e2f5_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6be202c6-0ec4-4a46-83b1-b82f0a9ebbe2_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum_a755cf39-c483-4055-9011-8ef8e6e78e41_terseLabel_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum leverage ratio</link:label>
    <link:label id="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum_label_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Covenant, Leverage Ratio, Maximum</link:label>
    <link:label id="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum_documentation_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Debt Instrument, Covenant, Leverage Ratio, Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentCovenantLeverageRatioMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:to="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_2c605aab-d26b-40f9-9491-31ed3361b2ce_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Contract with Customer, Contract Asset, Contract Liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_68038c61-b489-4691-93f5-f9ab2e0e35e2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">General administrative costs</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_5578ea67-f9bc-47d1-93db-65fc1a93d58b_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">Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_NetCashProvidedByUsedInOperatingActivities_3f18da6e-b81d-4630-a6f4-02fc498395d1_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 (used in) 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">Cash Provided by (Used in) Operating Activity, Including Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_10cee943-b6e5-4423-a022-189d2134072a_terseLabel_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum fixed charge coverage ratio</link:label>
    <link:label id="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_label_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Covenant, Interest Coverage Ratio, Minimum</link:label>
    <link:label id="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_documentation_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Debt Instrument, Covenant, Interest Coverage Ratio, Minimum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:to="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_362da4f5-1a18-4013-9715-afc8941c8e3f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt instrument term</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTerm" xlink:to="lab_us-gaap_DebtInstrumentTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_a70dab72-3c64-44dc-9a3b-436b74dd7e30_negatedLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Recognized net actuarial loss</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Amortization of Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:to="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_53722f52-3548-4d9b-923f-0c05603c1aa9_verboseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Selling and Administrative Expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_e1da2061-026b-4333-b5ce-185246578a5f_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_bcc60b7b-6eab-49d8-9428-0052561688a1_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost of Goods Sold</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/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_497642a3-6493-4ba8-b229-22f3fef90055_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 (Note 4)</link:label>
    <link:label id="lab_us-gaap_Goodwill_5d1018c4-6182-43ce-8a5b-af668d48d6df_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">Goodwill, beginning balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_06055cf9-6fa5-4e2e-aa60-e526dd9a60b0_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">Goodwill, ending balance</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_Depreciation_100f8603-e0a6-44bb-a80a-123c821fba2c_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SwapMember_069c5c54-0995-4436-bae5-c1d51548b110_terseLabel_en-US" xlink:label="lab_us-gaap_SwapMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Swap</link:label>
    <link:label id="lab_us-gaap_SwapMember_label_en-US" xlink:label="lab_us-gaap_SwapMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Swap [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SwapMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SwapMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SwapMember" xlink:to="lab_us-gaap_SwapMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b2944b1f-26bf-4cd9-b0fa-4075ec46aa9d_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">Denominator:</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/2025/elts/us-gaap-2025.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_fstr_OverTimeSalesAmount_a27eb5f4-0416-43f2-b11b-ec65d35b40f2_terseLabel_en-US" xlink:label="lab_fstr_OverTimeSalesAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Over time sales, amount</link:label>
    <link:label id="lab_fstr_OverTimeSalesAmount_label_en-US" xlink:label="lab_fstr_OverTimeSalesAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Over Time Sales, Amount</link:label>
    <link:label id="lab_fstr_OverTimeSalesAmount_documentation_en-US" xlink:label="lab_fstr_OverTimeSalesAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Over Time Sales, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesAmount" xlink:href="fstr-20250930.xsd#fstr_OverTimeSalesAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OverTimeSalesAmount" xlink:to="lab_fstr_OverTimeSalesAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_aea38d85-4060-467d-a5c8-e408db608370_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_ProductMember_a45694f7-9ec8-493f-9d91-ea530582e05c_terseLabel_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sales of goods</link:label>
    <link:label id="lab_us-gaap_ProductMember_label_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductMember" xlink:to="lab_us-gaap_ProductMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_77c5589d-66fb-4f9b-b745-bb55a90b2a06_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/2025/elts/us-gaap-2025.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_SupplementalCashFlowInformationAbstract_44fc3e05-3654-4036-b298-8585554b5db8_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" 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/2025/ecd-2025.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_PaymentsOfDebtIssuanceCosts_e643c46b-19da-4acd-8fbc-20075da04c76_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Debt issuance costs</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments of Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_419b4c76-24a1-46d2-bd05-e4efab3176e9_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</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/2025/dei-2025.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_LiabilitiesCurrent_df436b4b-deb5-44a0-8279-22fb7f8ee425_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/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentRiskAxis_92180402-3b02-4924-8db6-731fef6b5089_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentRiskAxis_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis" xlink:to="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_PurchasedServicesExpense_23ca647d-716b-44c2-b9dc-c2da4292b6a9_negatedTerseLabel_en-US" xlink:label="lab_fstr_PurchasedServicesExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Purchased services</link:label>
    <link:label id="lab_fstr_PurchasedServicesExpense_label_en-US" xlink:label="lab_fstr_PurchasedServicesExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Purchased Services Expense</link:label>
    <link:label id="lab_fstr_PurchasedServicesExpense_documentation_en-US" xlink:label="lab_fstr_PurchasedServicesExpense" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Purchased Services Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PurchasedServicesExpense" xlink:href="fstr-20250930.xsd#fstr_PurchasedServicesExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PurchasedServicesExpense" xlink:to="lab_fstr_PurchasedServicesExpense" 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/2025/ecd-2025.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_DefinedContributionPlanCostRecognized_37e4e5c7-1411-4322-a977-304ce28551e3_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expenses associated with contributions made</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanCostRecognized_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanCostRecognized" xlink:to="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_1a510c89-d571-420a-8570-9e65b57ba9ff_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">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/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsCurrent" xlink:to="lab_us-gaap_OtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_f6982d0c-9457-4da6-8c72-b99b8acf4e05_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">Cash Provided by (Used in) Investing Activity, Including Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_AdjustmentForAmortization_69a319fb-cee2-4fb4-b5af-e7c46f2c9d74_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentForAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization</link:label>
    <link:label id="lab_us-gaap_AdjustmentForAmortization_4b4f3d25-5417-4ffa-96d0-1ca91c816ecc_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentForAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Amortization expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentForAmortization_label_en-US" xlink:label="lab_us-gaap_AdjustmentForAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentForAmortization" xlink:to="lab_us-gaap_AdjustmentForAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_19ff1850-f3d0-4427-b19e-5eadb550b342_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">Revenue, remaining performance obligation, expected timing of satisfaction, period</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_InterestPaidNet_e3acfe72-a1f0-4750-94aa-aa146a24c7cf_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest paid</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_UndiscoveredRemedialWork_31f46dd7-1355-456e-a117-64b3048df749_terseLabel_en-US" xlink:label="lab_fstr_UndiscoveredRemedialWork" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Undiscovered remedial work</link:label>
    <link:label id="lab_fstr_UndiscoveredRemedialWork_label_en-US" xlink:label="lab_fstr_UndiscoveredRemedialWork" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Undiscovered Remedial Work</link:label>
    <link:label id="lab_fstr_UndiscoveredRemedialWork_documentation_en-US" xlink:label="lab_fstr_UndiscoveredRemedialWork" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Undiscovered Remedial Work</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UndiscoveredRemedialWork" xlink:href="fstr-20250930.xsd#fstr_UndiscoveredRemedialWork"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_UndiscoveredRemedialWork" xlink:to="lab_fstr_UndiscoveredRemedialWork" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_82021fff-99da-469b-bd06-00f2e9fbf723_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/2025/dei-2025.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_BasisOfAccountingPolicyPolicyTextBlock_6b06d93f-1c0b-4264-8885-85e89a143cc2_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" 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_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAxis_7ed49fb0-6a66-47c3-8388-917cbf62271c_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis" xlink:to="lab_us-gaap_LineOfCreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_0841f0c9-4f3f-4c48-acfb-9cbaeb1f9170_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 right-of-use assets - net</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_1bb9d562-66ab-43e4-8eb7-638aad6e513a_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract Assets</link:label>
    <link:label id="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_label_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]</link:label>
    <link:label id="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_documentation_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract With Customer Asset After Allowance For Credit Loss Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:to="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_dc8ab75e-8833-40c6-9823-6485a367f6d4_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective income 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/2025/elts/us-gaap-2025.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_dei_EntityInteractiveDataCurrent_8dafd89f-1305-45ae-bb7a-6b8763d460f0_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/2025/dei-2025.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_PlanNameDomain_325ac426-9920-4be4-9930-6b4c44c59b7d_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/2025/elts/us-gaap-2025.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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_8d2f478f-bbb4-4aab-80d9-5fe499a6a872_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Recognition period for compensation expense not yet recognized</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_d3c67fda-339f-46ca-8f2a-0adc7c9f37dc_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">Business Segments</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/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_d7816458-a672-412e-af8e-7a9c550c2012_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">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/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_aac7afdb-9b2d-41cb-a9c8-a9e288b8fadc_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/2025/elts/us-gaap-2025.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_LongTermDebtAndCapitalLeaseObligationsCurrent_f555556e-421f-4f9b-b959-11cdb1783bd1_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Current maturities of long-term debt (Note 7)</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_92f98f38-a6a2-450d-ac85-1c2d6fbacf67_negatedLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less current maturities</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt and Lease Obligation, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:to="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_SkratchEnterprisesLtdMember_8f73bd7a-9265-4d98-a154-926b01fc3d92_terseLabel_en-US" xlink:label="lab_fstr_SkratchEnterprisesLtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Skratch acquisition</link:label>
    <link:label id="lab_fstr_SkratchEnterprisesLtdMember_label_en-US" xlink:label="lab_fstr_SkratchEnterprisesLtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Skratch Enterprises Ltd [Member]</link:label>
    <link:label id="lab_fstr_SkratchEnterprisesLtdMember_documentation_en-US" xlink:label="lab_fstr_SkratchEnterprisesLtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Skratch Enterprises Ltd Member</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SkratchEnterprisesLtdMember" xlink:href="fstr-20250930.xsd#fstr_SkratchEnterprisesLtdMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_SkratchEnterprisesLtdMember" xlink:to="lab_fstr_SkratchEnterprisesLtdMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtAndCapitalLeaseObligations_16fc63be-1299-4ec6-8faa-a8a2f552f4b7_totalLabel_en-US" xlink:label="lab_us-gaap_DebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_DebtAndCapitalLeaseObligations_label_en-US" xlink:label="lab_us-gaap_DebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt and Lease Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtAndCapitalLeaseObligations" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtAndCapitalLeaseObligations" xlink:to="lab_us-gaap_DebtAndCapitalLeaseObligations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_7b6284f2-4a83-4ff5-a39e-fabc824c7f6a_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</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/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationAxis_57822f51-4ff4-4ab8-9441-4a1981ec0fc9_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retirement Plan Sponsor Location [Axis]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationAxis_label_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Sponsor Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_3faf6b8a-3ddf-4579-a4d9-4446468584e8_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</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/2025/elts/us-gaap-2025.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_ScheduleOfNetBenefitCostsTableTextBlock_b59dfccd-e6a8-4e5e-9dbb-7e0973f3b3f7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Net Benefit Costs</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Net Benefit Costs [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_srt_WeightedAverageMember_6c2dcf82-6376-47c0-9e2b-c11511c63931_terseLabel_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted Average</link:label>
    <link:label id="lab_srt_WeightedAverageMember_label_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_WeightedAverageMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_WeightedAverageMember" xlink:to="lab_srt_WeightedAverageMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_e3ebaaba-6cdd-40d5-951c-691bfb03acb8_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/2025/elts/us-gaap-2025.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_SellingGeneralAndAdministrativeExpense_e94a5835-b7ec-4d34-b18c-9bd5200e340e_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 and administrative expenses</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/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_f17fb917-2adf-4da5-ad5c-9eca2f75630f_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax assets (Note 9)</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_a338a201-de3d-4115-b197-5b6a0e4f04bc_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">Purchase of common shares for treasury</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/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_115227a2-7f06-4861-8b98-67e8999ecefb_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/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/2025/elts/us-gaap-2025.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_OtherAssetsNoncurrent_5602dbee-b67b-4468-b0cd-ea39170840d9_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" 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_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/2025/elts/us-gaap-2025.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_srt_NameOfMajorCustomerDomain_7d8978d5-3042-43bc-9b93-af5c599091cc_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_9db4ea74-db5f-49a4-a85e-6393dc9a1670_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/2025/dei-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_792ec16a-1fb3-4ca3-8fef-f572d75acd3f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions</link:label>
    <link:label id="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_b976f79c-242d-4ef5-9319-8c3309badf9e_terseLabel_en-US" xlink:label="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant</link:label>
    <link:label id="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_label_en-US" xlink:label="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PNC Bank, N.A., Bank Of America, N.A., Citizens Bank, N.A., And Wells Fargo Bank N.A. As Co-Syndication Agents, And Dollar Bank, Federal Savings Bank As Participant [Member]</link:label>
    <link:label id="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_documentation_en-US" xlink:label="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" xlink:href="fstr-20250930.xsd#fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" xlink:to="lab_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember" 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/2025/ecd-2025.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_us-gaap_RevolvingCreditFacilityMember_f4ed31f5-dbe0-474f-b9b0-ede60b8a707f_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/2025/elts/us-gaap-2025.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_fstr_IncreaseDecreaseInAccruedSettlement_9dc98034-f36e-4997-a8bb-8157ad660a3b_negatedTerseLabel_en-US" xlink:label="lab_fstr_IncreaseDecreaseInAccruedSettlement" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accrued settlement</link:label>
    <link:label id="lab_fstr_IncreaseDecreaseInAccruedSettlement_label_en-US" xlink:label="lab_fstr_IncreaseDecreaseInAccruedSettlement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) In Accrued Settlement</link:label>
    <link:label id="lab_fstr_IncreaseDecreaseInAccruedSettlement_documentation_en-US" xlink:label="lab_fstr_IncreaseDecreaseInAccruedSettlement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Increase (Decrease) In Accrued Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_IncreaseDecreaseInAccruedSettlement" xlink:href="fstr-20250930.xsd#fstr_IncreaseDecreaseInAccruedSettlement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_IncreaseDecreaseInAccruedSettlement" xlink:to="lab_fstr_IncreaseDecreaseInAccruedSettlement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_f64ee3fa-9e79-4476-9db9-c116b10fcdff_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_a44e5e48-6971-4081-a8df-cf456524a667_verboseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Finance leases and financing agreements</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiability" xlink:to="lab_us-gaap_FinanceLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_d62f396c-f343-411b-93fe-cb961d25da0d_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business combination, deferred consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" 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/2025/ecd-2025.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_ScheduleOfSegmentReportingInformationBySegmentTable_167c15f7-c289-4491-8111-98855e63e2a7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_4c181942-c58c-4a7f-9d15-29486d79376d_negatedLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Reduction in sales due to changes in estimates</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_03bf3586-6b87-454a-bcbd-ef8885c83c56_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments to contract assets</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_RailTechnologiesProductsMember_696bc087-cdc4-4e30-a70d-973d77cad60e_terseLabel_en-US" xlink:label="lab_fstr_RailTechnologiesProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Technology Services and Solutions</link:label>
    <link:label id="lab_fstr_RailTechnologiesProductsMember_label_en-US" xlink:label="lab_fstr_RailTechnologiesProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Rail Technologies Products [Member]</link:label>
    <link:label id="lab_fstr_RailTechnologiesProductsMember_documentation_en-US" xlink:label="lab_fstr_RailTechnologiesProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Rail Technologies Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesProductsMember" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_RailTechnologiesProductsMember" xlink:to="lab_fstr_RailTechnologiesProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_b3c27d71-fbaa-4aa0-81a2-34c4e883b49e_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">Deferred revenue (Note 3)</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/2025/elts/us-gaap-2025.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_StatementBusinessSegmentsAxis_c6a8760f-2b5a-4b20-ad53-b4e06971dbef_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/2025/elts/us-gaap-2025.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_InventoryWorkInProcessNetOfReserves_eda80edb-76dd-4b08-9f5a-966ccb69ebb6_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2025/elts/us-gaap-2025.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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_0c005871-066a-4d12-a486-2a88e1c65cd5_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Less comprehensive loss attributable to noncontrolling interest:</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract" 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/2025/ecd-2025.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_dei_EntityFilerCategory_9ffc5665-0060-4b6c-9181-6bdc9e21a914_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/2025/dei-2025.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_dei_LocalPhoneNumber_6f8610ad-e98b-4d1e-8d8b-8c09fd47fc7c_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/2025/dei-2025.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_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/2025/ecd-2025.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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_be1baefe-8e9c-459d-895d-90c5956dae41_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">Stock-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/2025/elts/us-gaap-2025.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_fstr_IncrementalLoansMember_870ae521-ad2b-4c67-8d44-c652ec35381f_terseLabel_en-US" xlink:label="lab_fstr_IncrementalLoansMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Incremental Loans</link:label>
    <link:label id="lab_fstr_IncrementalLoansMember_label_en-US" xlink:label="lab_fstr_IncrementalLoansMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Incremental Loans [Member]</link:label>
    <link:label id="lab_fstr_IncrementalLoansMember_documentation_en-US" xlink:label="lab_fstr_IncrementalLoansMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Incremental Loans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_IncrementalLoansMember" xlink:href="fstr-20250930.xsd#fstr_IncrementalLoansMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_IncrementalLoansMember" xlink:to="lab_fstr_IncrementalLoansMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_dc0342b1-ca25-44cb-ab6f-44dcf77ef424_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/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_4308c06f-e583-4e01-860f-191a05da5bf7_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_DebtInstrumentAxis_f9b8fed8-7129-438e-8e2f-81103c62e7e6_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/2025/elts/us-gaap-2025.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_f614eccf-256b-4418-9f82-d5f703c28226_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average grant date fair value, cancelled and forfeited (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_5187664f-c635-4137-a7ac-5a65927e4e0a_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retirement Plans</link:label>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Benefits [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_6a385684-1e7d-428c-bac9-5770672ababb_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_654001ef-3cac-429d-92bc-2eeb5414d557_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/2025/elts/us-gaap-2025.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_FiniteLivedIntangibleAssetsGross_b20ca3ba-793a-4d9f-9654-af947d272ba0_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 Value</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/2025/elts/us-gaap-2025.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_StockholdersEquityAbstract_9380c66c-8c4f-4241-a5ed-deb49cc4c84c_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_dei_EntityAddressAddressLine1_bff28f20-abc1-4b25-b65f-7370e8deeacc_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, Street Name</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/2025/dei-2025.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_1c0ac126-872a-44ff-bc07-377ea2058c3f_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, Suite</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/2025/dei-2025.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_AccumulatedOtherComprehensiveIncomeMember_a9a623a2-24fe-4c51-a48f-6c4b69e4baea_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/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_ad2d3068-6d66-410b-891a-a2ff65a83496_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">Long-term 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/2025/elts/us-gaap-2025.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_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_2e102d40-54dc-4bd7-ae48-1eb893cd43cb_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of prior service costs and transition amount</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Amortization of Prior Service Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:to="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_dei_EntityRegistrantName_2adb3c91-269f-4e71-a5c0-16e1bd6901af_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/2025/dei-2025.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_IncreaseDecreaseInOtherNoncurrentAssets_27acaf23-2615-43b0-8159-5db577058bd8_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other noncurrent assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Other Noncurrent Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" 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/2025/ecd-2025.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_DefinedBenefitPlanNetPeriodicBenefitCost_b6cbcb4a-78ef-4eed-b74f-c4bff48dfc35_totalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net periodic pension income</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:to="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LaborAndRelatedExpense_8088ff8a-4b92-44b2-a802-42eaaec692e6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LaborAndRelatedExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Selling and administrative employment costs</link:label>
    <link:label id="lab_us-gaap_LaborAndRelatedExpense_label_en-US" xlink:label="lab_us-gaap_LaborAndRelatedExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Labor and Related Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LaborAndRelatedExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LaborAndRelatedExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LaborAndRelatedExpense" xlink:to="lab_us-gaap_LaborAndRelatedExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_26be0bd4-02c0-477d-9495-b3d22f2b4e7e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Long-term Debt Instruments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_e8781023-945e-41f9-a9ba-3aaf63ce4561_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">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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/2025/elts/us-gaap-2025.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_srt_TitleOfIndividualWithRelationshipToEntityDomain_8cb3c19c-1b64-4364-963c-db3699d6ef54_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Title and Position [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title and Position [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_3071371b-eb50-4e3c-b446-3a68d630460b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Cancelled and forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_4843a70d-38dc-445d-b6af-582a67428f76_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected cost on shares expected to vest</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_31172eba-9086-4aef-8164-d030585b73bf_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period Two</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption, Period Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_35b3ff83-8f87-4ca3-bb16-fcc696fa0db8_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/2025/dei-2025.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_AssetsFairValueDisclosure_e5fb46d2-24f2-47ca-91a5-4dd91b199825_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" 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_AssetsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosure" xlink:to="lab_us-gaap_AssetsFairValueDisclosure" 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/2025/ecd-2025.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_NumberOfOperatingSegments_7f3848a2-1954-483d-89f7-5773320327db_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of operating segments</link:label>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfOperatingSegments" xlink:to="lab_us-gaap_NumberOfOperatingSegments" 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/2025/ecd-2025.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_us-gaap_DefinedBenefitPlanInterestCost_093ce283-a665-4db4-a97c-69addaa20750_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Interest Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:to="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ff250386-6c69-45b7-8e89-86630a894ab3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares granted (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_ServiceMember_3ef50665-0703-4215-a7ce-ac5579594461_terseLabel_en-US" xlink:label="lab_us-gaap_ServiceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sales of services</link:label>
    <link:label id="lab_us-gaap_ServiceMember_label_en-US" xlink:label="lab_us-gaap_ServiceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Service [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ServiceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ServiceMember" xlink:to="lab_us-gaap_ServiceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_6bdef4e0-6c74-4975-a870-23ed0badd63e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_d9019c3c-af05-41c1-bb36-754fe54c78d7_terseLabel_en-US" xlink:label="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Sales by Major Product Line</link:label>
    <link:label id="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_label_en-US" xlink:label="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Revenues by Major Product Line [Table Text Block]</link:label>
    <link:label id="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_documentation_en-US" xlink:label="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure summarizing sales by major product line.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" xlink:href="fstr-20250930.xsd#fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" xlink:to="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" 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/2025/ecd-2025.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_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/2025/ecd-2025.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_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_e7513727-d0ba-490d-be7d-65beb024388d_terseLabel_en-US" xlink:label="lab_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment of noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_label_en-US" xlink:label="lab_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncontrolling Interest, Increase from Subsidiary Equity Issuance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:to="lab_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_37b25d0d-6606-4cd9-9527-20d35d2bdade_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" 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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" 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, Portion Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_CorporateManagementStockBasedCompensation_9a0566c0-f4c4-42e3-9145-4ff2ba353708_negatedTerseLabel_en-US" xlink:label="lab_fstr_CorporateManagementStockBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Corporate management stock-based compensation</link:label>
    <link:label id="lab_fstr_CorporateManagementStockBasedCompensation_label_en-US" xlink:label="lab_fstr_CorporateManagementStockBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Management Stock-based Compensation</link:label>
    <link:label id="lab_fstr_CorporateManagementStockBasedCompensation_documentation_en-US" xlink:label="lab_fstr_CorporateManagementStockBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Corporate Management Stock-based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateManagementStockBasedCompensation" xlink:href="fstr-20250930.xsd#fstr_CorporateManagementStockBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_CorporateManagementStockBasedCompensation" xlink:to="lab_fstr_CorporateManagementStockBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends_d20ff834-321d-479d-9ad6-1e377d4080aa_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock compensation plans (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Nonvested Shares with Forfeitable Dividends</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_SwingLoanMember_2bb147d8-22f2-4f86-bd5a-da32a0e3e777_terseLabel_en-US" xlink:label="lab_fstr_SwingLoanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Swing Loan</link:label>
    <link:label id="lab_fstr_SwingLoanMember_label_en-US" xlink:label="lab_fstr_SwingLoanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Swing Loan [Member]</link:label>
    <link:label id="lab_fstr_SwingLoanMember_documentation_en-US" xlink:label="lab_fstr_SwingLoanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Swing Loan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SwingLoanMember" xlink:href="fstr-20250930.xsd#fstr_SwingLoanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_SwingLoanMember" xlink:to="lab_fstr_SwingLoanMember" 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/2025/ecd-2025.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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9aafbc8d-a12c-4187-990a-9c7d2a2ec36e_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/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MinorityInterest_1c934e5c-924f-4220-b2d7-17b6fde9b0cb_terseLabel_en-US" xlink:label="lab_us-gaap_MinorityInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_MinorityInterest_label_en-US" xlink:label="lab_us-gaap_MinorityInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity, Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MinorityInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_MinorityInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MinorityInterest" xlink:to="lab_us-gaap_MinorityInterest" 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/2025/ecd-2025.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_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/2025/ecd-2025.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_DisaggregationOfRevenueLineItems_fd579118-dc6f-4c88-a6c9-bf3cc46fff15_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</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/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems_85f9bfc3-2f25-468e-be19-76134050e662_verboseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan Disclosure</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_country_CA_33d8a4b9-5294-4504-bda3-33a7d1979fd7_terseLabel_en-US" xlink:label="lab_country_CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Canada</link:label>
    <link:label id="lab_country_CA_label_en-US" xlink:label="lab_country_CA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CANADA</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CA"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_CA" xlink:to="lab_country_CA" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_35c9ff75-9202-4dc1-920e-c8011ca3093e_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts and Other Receivables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" 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/2025/ecd-2025.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_us-gaap_DebtInstrumentNameDomain_ba58df2f-8c3f-4c23-81b3-01a4017eea70_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/2025/elts/us-gaap-2025.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_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" 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/2025/ecd-2025.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_ContractWithCustomerLiabilityRevenueRecognized_d17fc2a8-3faf-4f2c-9a04-9708755e6fee_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Revenue recognized from contract liabilities</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_d38088f8-e369-450f-ab8a-6bad3088d6f0_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued payroll and employee benefits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Employee Related Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_59688cc4-fdbe-42d3-be08-d9a8171b6504_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of pension liability adjustments to earnings, tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_953f2a5c-7161-495c-a591-71263ad7388e_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" 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/2025/ecd-2025.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_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/2025/ecd-2025.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_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_cdce2aa7-ed02-4813-87c0-050cba604de8_terseLabel_en-US" xlink:label="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of companies that received a general notice letter (company)</link:label>
    <link:label id="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_label_en-US" xlink:label="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Companies Receiving General Notice Letter</link:label>
    <link:label id="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_documentation_en-US" xlink:label="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number Of Companies Receiving General Notice Letter</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:href="fstr-20250930.xsd#fstr_NumberOfCompaniesReceivingGeneralNoticeLetter"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:to="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_474ed220-6873-468e-8f76-0a4f2bec93eb_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Weighted average share price, beginning balance (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_641804eb-cc6c-440e-9192-653455af8e94_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Weighted average share price, ending balance (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_7e23b1fd-90c1-45ca-81dd-47542920effc_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">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/2025/elts/us-gaap-2025.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_RestructuringCostAndReserveAxis_5b49f25d-62fb-4c31-8ae1-3953fbf7793a_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_022a83c9-ff7a-4931-813b-22fe97551ff8_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-based compensation</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/2025/elts/us-gaap-2025.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_fstr_PresentValueOfProposedRemedialWork_a6e18dc1-21cb-42e2-af91-b359db8e060f_terseLabel_en-US" xlink:label="lab_fstr_PresentValueOfProposedRemedialWork" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Present value of remedial work</link:label>
    <link:label id="lab_fstr_PresentValueOfProposedRemedialWork_label_en-US" xlink:label="lab_fstr_PresentValueOfProposedRemedialWork" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Present Value Of Proposed Remedial Work</link:label>
    <link:label id="lab_fstr_PresentValueOfProposedRemedialWork_documentation_en-US" xlink:label="lab_fstr_PresentValueOfProposedRemedialWork" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Present Value Of Proposed Remedial Work</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PresentValueOfProposedRemedialWork" xlink:href="fstr-20250930.xsd#fstr_PresentValueOfProposedRemedialWork"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PresentValueOfProposedRemedialWork" xlink:to="lab_fstr_PresentValueOfProposedRemedialWork" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_9cc3436b-d330-4016-8f6b-2cfeaa5e3ac8_terseLabel_en-US" xlink:label="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Omnibus Plan and Equity and Incentive Plan</link:label>
    <link:label id="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_label_en-US" xlink:label="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Omnibus Plan and Equity and Incentive Plan [Member]</link:label>
    <link:label id="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_documentation_en-US" xlink:label="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Omnibus Plan and Equity and Incentive Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OmnibusPlanAndEquityAndIncentivePlanMember" xlink:href="fstr-20250930.xsd#fstr_OmnibusPlanAndEquityAndIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OmnibusPlanAndEquityAndIncentivePlanMember" xlink:to="lab_fstr_OmnibusPlanAndEquityAndIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_d509d4e5-52aa-4806-9d14-6878a6621adc_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/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations_078d588c-5e81-45b8-bfd5-4da2817a0a23_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Long-term debt (Note 7)</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations_eb8926c0-a9c2-408c-875b-af3f68eb1900_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations_label_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt and Lease Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:to="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanDisclosureLineItems_6770a71b-5fa0-434f-83d3-1fe8a160b325_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan Disclosure</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanDisclosureLineItems_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:to="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationDomain_102a5756-29ea-4e2c-970d-40af39b43b91_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retirement Plan Sponsor Location [Domain]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationDomain_label_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Sponsor Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_e819797d-daff-440a-aab4-fe3a8ec085a9_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/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDomain" xlink:to="lab_us-gaap_SegmentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_0979eab3-4c04-4ecd-b258-aa740fc12607_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement of Income Location, Balance [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Income Location, Balance [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_358e35f9-dd6c-4aa0-9d7b-249d3dab59d7_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-Based Stock and Share 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_fstr_RailTechnologiesAndServicesSegmentMember_fa96287b-dd38-40ec-8590-95b79ea8a663_terseLabel_en-US" xlink:label="lab_fstr_RailTechnologiesAndServicesSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Rail, Technologies, and Services</link:label>
    <link:label id="lab_fstr_RailTechnologiesAndServicesSegmentMember_label_en-US" xlink:label="lab_fstr_RailTechnologiesAndServicesSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Rail Technologies and Services Segment [Member]</link:label>
    <link:label id="lab_fstr_RailTechnologiesAndServicesSegmentMember_documentation_en-US" xlink:label="lab_fstr_RailTechnologiesAndServicesSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Rail Technologies and Services Segment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_RailTechnologiesAndServicesSegmentMember" xlink:to="lab_fstr_RailTechnologiesAndServicesSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_89132cad-39ef-41bd-aa42-238f48a9c02e_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Fair Value Hierarchy [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_3cf96ece-9638-48b4-aa17-2b7a733f2e58_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" 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/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_d3c5c316-c0f1-4325-863b-d82b709ac7ee_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 (Note 6)</link:label>
    <link:label id="lab_us-gaap_InventoryNet_c440f455-ddec-4df9-9967-331ef3adc3d7_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/2025/elts/us-gaap-2025.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_FiniteLivedIntangibleAssetsByMajorClassAxis_587a757b-a2e7-427e-be9a-8adb78e5b182_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/2025/elts/us-gaap-2025.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_srt_MinimumMember_57f86cd4-ec03-4cb2-9013-b0f2bf6fdf1d_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/2025/elts/srt-2025.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_fstr_OtherExitCosts_a1bc94e2-bd34-40bf-ad8b-1975974f179a_terseLabel_en-US" xlink:label="lab_fstr_OtherExitCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other exit costs</link:label>
    <link:label id="lab_fstr_OtherExitCosts_label_en-US" xlink:label="lab_fstr_OtherExitCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Exit Costs</link:label>
    <link:label id="lab_fstr_OtherExitCosts_documentation_en-US" xlink:label="lab_fstr_OtherExitCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Other Exit Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherExitCosts" xlink:href="fstr-20250930.xsd#fstr_OtherExitCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OtherExitCosts" xlink:to="lab_fstr_OtherExitCosts" 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/2025/ecd-2025.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_AccrualForEnvironmentalLossContingencies_2b527754-94fe-4ed1-bb0e-5ef00e96cd92_terseLabel_en-US" xlink:label="lab_us-gaap_AccrualForEnvironmentalLossContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrual for environmental loss</link:label>
    <link:label id="lab_us-gaap_AccrualForEnvironmentalLossContingencies_label_en-US" xlink:label="lab_us-gaap_AccrualForEnvironmentalLossContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrual for Environmental Loss Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccrualForEnvironmentalLossContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccrualForEnvironmentalLossContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccrualForEnvironmentalLossContingencies" xlink:to="lab_us-gaap_AccrualForEnvironmentalLossContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_1eca08d2-72e0-439e-a4ad-9befe8e61e66_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Debt and Related Matters</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" 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/2025/ecd-2025.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_us-gaap_AccountsPayableCurrent_e169e9ed-8e6f-406c-8015-c3e9d788b73f_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/2025/elts/us-gaap-2025.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_DefinedContributionPlanTable_2fc57f99-8d84-4604-8e5b-2655a5a37ab6_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan [Table]</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanTable_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanTable" xlink:to="lab_us-gaap_DefinedContributionPlanTable" 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/2025/elts/us-gaap-2025.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_us-gaap_SegmentDiscontinuedOperationsMember_ca0e6577-69a8-4b1b-bed1-e7acf08271fe_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDiscontinuedOperationsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Discontinued Operations</link:label>
    <link:label id="lab_us-gaap_SegmentDiscontinuedOperationsMember_label_en-US" xlink:label="lab_us-gaap_SegmentDiscontinuedOperationsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operations [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDiscontinuedOperationsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDiscontinuedOperationsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDiscontinuedOperationsMember" xlink:to="lab_us-gaap_SegmentDiscontinuedOperationsMember" 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/2025/ecd-2025.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_InventoryFinishedGoodsNetOfReserves_52b87cd6-d345-4156-87c1-0b478542362d_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2025/elts/us-gaap-2025.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_us-gaap_CommonStockValue_c7dcd21a-9c27-4e25-81a6-b764b4cba330_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at September&#160;30, 2025 and December&#160;31, 2024, 11,115,779; shares outstanding at September&#160;30, 2025 and December&#160;31, 2024, 10,247,806 and 10,573,432, respectively</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/2025/elts/us-gaap-2025.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_GoodwillRollForward_69bc1e78-28d6-4420-8ee7-171935aedc1d_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</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/2025/elts/us-gaap-2025.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_RestructuringPlanDomain_2702b4bd-aaa9-432a-acd5-850465193c1a_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringPlanDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restructuring Plan [Domain]</link:label>
    <link:label id="lab_us-gaap_RestructuringPlanDomain_label_en-US" xlink:label="lab_us-gaap_RestructuringPlanDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring Plan [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringPlanDomain" xlink:to="lab_us-gaap_RestructuringPlanDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_7d4f5305-8428-421b-8c4e-48dbc6464b1b_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Commitments and Contingent Liabilities</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualAxis_d757f21d-1c66-4848-a70d-54421092b8aa_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Title and Position [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title and Position [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrentAbstract_1ce11177-7f21-4271-ad68-7042d3ce59d5_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrentAbstract" 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_OtherAssetsNoncurrentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Assets, Noncurrent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract" xlink:to="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_DailySimpleSOFRMember_2badc127-db40-4395-8170-ca61ff2901c1_terseLabel_en-US" xlink:label="lab_fstr_DailySimpleSOFRMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Daily Simple SOFR</link:label>
    <link:label id="lab_fstr_DailySimpleSOFRMember_label_en-US" xlink:label="lab_fstr_DailySimpleSOFRMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Daily Simple SOFR [Member]</link:label>
    <link:label id="lab_fstr_DailySimpleSOFRMember_documentation_en-US" xlink:label="lab_fstr_DailySimpleSOFRMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Daily Simple SOFR</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DailySimpleSOFRMember" xlink:href="fstr-20250930.xsd#fstr_DailySimpleSOFRMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DailySimpleSOFRMember" xlink:to="lab_fstr_DailySimpleSOFRMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_AutomationAndMaterialsHandlingMember_0ec8f674-4034-4cbc-a362-9697f5da3f9a_terseLabel_en-US" xlink:label="lab_fstr_AutomationAndMaterialsHandlingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">AMH</link:label>
    <link:label id="lab_fstr_AutomationAndMaterialsHandlingMember_label_en-US" xlink:label="lab_fstr_AutomationAndMaterialsHandlingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Automation And Materials Handling [Member]</link:label>
    <link:label id="lab_fstr_AutomationAndMaterialsHandlingMember_documentation_en-US" xlink:label="lab_fstr_AutomationAndMaterialsHandlingMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Automation And Materials Handling</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AutomationAndMaterialsHandlingMember" xlink:href="fstr-20250930.xsd#fstr_AutomationAndMaterialsHandlingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_AutomationAndMaterialsHandlingMember" xlink:to="lab_fstr_AutomationAndMaterialsHandlingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_69db01ea-6846-4a4f-a914-4a954383acec_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted weighted average shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_b43717e2-3198-479e-a688-e86dd918f4a2_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">Denominator for diluted earnings per common share - adjusted weighted average shares outstanding (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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_BusinessAcquisitionAxis_c3974baa-eb75-4da4-bab5-91da9cb36e18_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 Combination [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 Combination [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_3c465adb-fc37-4e45-b170-9df9afaec8ef_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" 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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_9ab9cfb3-7981-4bec-98cc-c95b64f952c3_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/2025/dei-2025.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_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/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_32d45cfb-044d-40fc-99fa-1aadbe25e50c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Nonvested Share Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Nonvested Share Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncontrollingInterestMember_021992b7-0e08-4688-a77b-27bb8cafd7b1_terseLabel_en-US" xlink:label="lab_us-gaap_NoncontrollingInterestMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Noncontrolling Interest</link:label>
    <link:label id="lab_us-gaap_NoncontrollingInterestMember_label_en-US" xlink:label="lab_us-gaap_NoncontrollingInterestMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncontrollingInterestMember" xlink:to="lab_us-gaap_NoncontrollingInterestMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_10a86c4a-6995-482d-9763-7aaa021481b0_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/2025/dei-2025.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_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/2025/ecd-2025.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_fstr_AutomationAndMaterialsHandlingLineMember_f05b7697-f5b2-44cf-a1bd-4dd92099bfbf_terseLabel_en-US" xlink:label="lab_fstr_AutomationAndMaterialsHandlingLineMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Automation and Materials Handling Line</link:label>
    <link:label id="lab_fstr_AutomationAndMaterialsHandlingLineMember_label_en-US" xlink:label="lab_fstr_AutomationAndMaterialsHandlingLineMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Automation and Materials Handling Line [Member]</link:label>
    <link:label id="lab_fstr_AutomationAndMaterialsHandlingLineMember_documentation_en-US" xlink:label="lab_fstr_AutomationAndMaterialsHandlingLineMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Automation and Materials Handling Line</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AutomationAndMaterialsHandlingLineMember" xlink:href="fstr-20250930.xsd#fstr_AutomationAndMaterialsHandlingLineMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_AutomationAndMaterialsHandlingLineMember" xlink:to="lab_fstr_AutomationAndMaterialsHandlingLineMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfOtherLongTermDebt_f5aac951-0d8a-4aff-b540-3cd1a394e556_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfOtherLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repayments of debt</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfOtherLongTermDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfOtherLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repayments of Other Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RepaymentsOfOtherLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfOtherLongTermDebt" xlink:to="lab_us-gaap_RepaymentsOfOtherLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_c2b5124c-55b9-429d-baf9-56c2623f228e_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/2025/elts/us-gaap-2025.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_dei_DocumentPeriodEndDate_4616fbb5-696e-4f7f-b9f1-f0b8a3e9194d_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/2025/dei-2025.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_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/2025/ecd-2025.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_IncomeTaxDisclosureTextBlock_50596972-81d4-4919-87d0-f49e56af4c0a_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/2025/elts/us-gaap-2025.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_AllowanceForDoubtfulAccountsReceivable_6b1602f2-55ae-4fc7-a12e-ec4fee6fb17e_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">Allowance for doubtful accounts, beginning balance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_af61a7ed-acdc-4678-a067-85738dc490a1_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">Allowance for doubtful accounts, ending balance</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/2025/elts/us-gaap-2025.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_fstr_PrecastConcreteProductsSegmentMember_737a3d08-3c57-45f1-8ac9-5c794e60391a_terseLabel_en-US" xlink:label="lab_fstr_PrecastConcreteProductsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Precast Concrete Products</link:label>
    <link:label id="lab_fstr_PrecastConcreteProductsSegmentMember_label_en-US" xlink:label="lab_fstr_PrecastConcreteProductsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Precast Concrete Products Segment [Member]</link:label>
    <link:label id="lab_fstr_PrecastConcreteProductsSegmentMember_documentation_en-US" xlink:label="lab_fstr_PrecastConcreteProductsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Precast Concrete Products Segment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsSegmentMember" xlink:href="fstr-20250930.xsd#fstr_PrecastConcreteProductsSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PrecastConcreteProductsSegmentMember" xlink:to="lab_fstr_PrecastConcreteProductsSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_country_GB_70b3ec71-3741-4663-ae0c-fa59ea89c901_terseLabel_en-US" xlink:label="lab_country_GB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">United Kingdom</link:label>
    <link:label id="lab_country_GB_label_en-US" xlink:label="lab_country_GB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED KINGDOM</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_GB" xlink:to="lab_country_GB" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_f346fb6c-35d1-4eac-932a-43706d792ceb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Deferred payment for Skratch acquisition</link:label>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_fe5f6f5b-e9ad-488d-99fd-13d093345a50_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred payment for Skratch acquisition</link:label>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_label_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payment for Contingent Consideration Liability, Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" 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/2025/ecd-2025.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_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/2025/elts/us-gaap-2025.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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_419e54fe-6eba-43d1-ab5e-df2fe388fd5a_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_62e430bb-6d7d-4f38-82f4-2648417a7abe_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_9e78d587-5d56-4397-abaf-3176922f3f54_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_d4fd7ef5-92c6-466d-81f6-963816bb172f_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/2025/dei-2025.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_FairValueInputsLevel3Member_b26cb457-7555-41ea-b31d-10922a530d70_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Level 3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_9ec54f09-addf-4906-bec9-7625fdcf65bb_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 Common 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_AdditionalPaidInCapital_a8c243d5-6b56-474d-991c-97e90cdcd2d7_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">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/2025/elts/us-gaap-2025.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_srt_ProductOrServiceAxis_b28c5e9e-c5a0-433a-afc6-bcd0abcf552e_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Products and Services [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticPlanMember_ecfd8150-f8f0-4a8f-a297-0186c2493cf2_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Domestic Plan</link:label>
    <link:label id="lab_us-gaap_DomesticPlanMember_label_en-US" xlink:label="lab_us-gaap_DomesticPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Domestic Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DomesticPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticPlanMember" xlink:to="lab_us-gaap_DomesticPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeContractTypeDomain_538b4082-6863-49b6-a51a-6a36255c019b_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:label id="lab_us-gaap_DerivativeContractTypeDomain_label_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeContractTypeDomain" xlink:to="lab_us-gaap_DerivativeContractTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_2886c18c-7f7b-4f16-bd4c-6b35b3822dab_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable" xlink:to="lab_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable" 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/2025/ecd-2025.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_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_a50987e5-aff2-4fa7-ae6d-dafd4d9ba4f9_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">Capital expenditures on property, plant, and equipment</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/2025/elts/us-gaap-2025.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_TransferredAtPointInTimeMember_1d5e0e4f-5b8b-410c-bed1-990cf3606201_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_AssetsCurrent_f6da41be-6312-4c85-85c4-749eb306646c_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/2025/elts/us-gaap-2025.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_srt_RangeAxis_2aee7b02-ff27-4b16-af63-2bc04b661a51_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Range [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/2025/elts/srt-2025.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_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/2025/ecd-2025.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_fstr_PublicCompanyCosts_2c9a1f47-f9b9-4797-ae96-b87f07ab0270_negatedTerseLabel_en-US" xlink:label="lab_fstr_PublicCompanyCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Public company costs</link:label>
    <link:label id="lab_fstr_PublicCompanyCosts_label_en-US" xlink:label="lab_fstr_PublicCompanyCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Public Company Costs</link:label>
    <link:label id="lab_fstr_PublicCompanyCosts_documentation_en-US" xlink:label="lab_fstr_PublicCompanyCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Public Company Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PublicCompanyCosts" xlink:href="fstr-20250930.xsd#fstr_PublicCompanyCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PublicCompanyCosts" xlink:to="lab_fstr_PublicCompanyCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_b4af285e-d62c-4303-b1b3-8f6bee3354e3_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis" xlink:to="lab_us-gaap_DisposalGroupClassificationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_c9abd622-5d88-4890-99c3-e99e5e69da28_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Issued, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" 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/2025/ecd-2025.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_GoodwillForeignCurrencyTranslationGainLoss_7475b7b2-6b2f-40f8-9ebc-94e925b66de8_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation impact</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/2025/elts/us-gaap-2025.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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_45337676-2e94-4dc6-824e-f2f4d3662c2f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_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/2025/ecd-2025.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_ScheduleOfFiniteLivedIntangibleAssetsTable_4222348c-4ba4-4e69-8280-3134b107a84e_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">Intangible Asset, Finite-Lived [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/2025/elts/us-gaap-2025.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_LiabilitiesCurrentAbstract_0844da1f-7652-452f-a497-6d7a36302269_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/2025/elts/us-gaap-2025.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_LineOfCreditFacilityLineItems_d6b4bbff-4765-4c9a-a253-d88565cb5d75_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:to="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_InventoryAndFixedAssetWriteDown_f3dd2534-5659-4cc9-810c-a3e09a28c534_terseLabel_en-US" xlink:label="lab_fstr_InventoryAndFixedAssetWriteDown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventory and fixed asset write-down</link:label>
    <link:label id="lab_fstr_InventoryAndFixedAssetWriteDown_label_en-US" xlink:label="lab_fstr_InventoryAndFixedAssetWriteDown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory And Fixed Asset Write-Down</link:label>
    <link:label id="lab_fstr_InventoryAndFixedAssetWriteDown_documentation_en-US" xlink:label="lab_fstr_InventoryAndFixedAssetWriteDown" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Inventory And Fixed Asset Write-Down</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InventoryAndFixedAssetWriteDown" xlink:href="fstr-20250930.xsd#fstr_InventoryAndFixedAssetWriteDown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_InventoryAndFixedAssetWriteDown" xlink:to="lab_fstr_InventoryAndFixedAssetWriteDown" 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/2025/ecd-2025.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_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_2d150aaf-c4ea-42bc-9803-726ee1b80b63_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Pension liability adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, after Tax and Reclassification Adjustment, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_5195b645-1075-4bcc-b35c-aba4a24800d0_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Level 1</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCredit_88ba5519-f555-4f53-892d-c6647739f0de_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCredit" 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_LineOfCredit_7511e908-f2a9-40bd-9db6-3cc5e2f2f21c_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Line of credit facility, amount outstanding</link:label>
    <link:label id="lab_us-gaap_LineOfCredit_label_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCredit" xlink:to="lab_us-gaap_LineOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_8f9069aa-6aa7-4e2c-be4d-2bbe4d388893_netLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xml:lang="en-US">Diluted earnings per common share (in USD per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_534f390f-b85e-4832-a94d-8e4b5e96741d_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted earnings per common share (in USD per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_3c7d9661-c6f9-4211-8bf8-90243bf155d8_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">Other 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_dei_Security12bTitle_001c8a89-943d-4d5b-ad5b-454b3b735d51_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/2025/dei-2025.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_fstr_CorporateAndReconcilingItemsMember_8a668772-54cc-4659-be82-6208bcf30456_terseLabel_en-US" xlink:label="lab_fstr_CorporateAndReconcilingItemsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Corporate And Reconciling Items</link:label>
    <link:label id="lab_fstr_CorporateAndReconcilingItemsMember_label_en-US" xlink:label="lab_fstr_CorporateAndReconcilingItemsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate And Reconciling Items [Member]</link:label>
    <link:label id="lab_fstr_CorporateAndReconcilingItemsMember_documentation_en-US" xlink:label="lab_fstr_CorporateAndReconcilingItemsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Corporate And Reconciling Items</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateAndReconcilingItemsMember" xlink:href="fstr-20250930.xsd#fstr_CorporateAndReconcilingItemsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_CorporateAndReconcilingItemsMember" xlink:to="lab_fstr_CorporateAndReconcilingItemsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_OverTimeSalesPercent_159377bd-3def-4835-85d1-da7ff7809528_terseLabel_en-US" xlink:label="lab_fstr_OverTimeSalesPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Over time sales, percentage</link:label>
    <link:label id="lab_fstr_OverTimeSalesPercent_label_en-US" xlink:label="lab_fstr_OverTimeSalesPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Over Time Sales, Percent</link:label>
    <link:label id="lab_fstr_OverTimeSalesPercent_documentation_en-US" xlink:label="lab_fstr_OverTimeSalesPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Over Time Sales, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesPercent" xlink:href="fstr-20250930.xsd#fstr_OverTimeSalesPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OverTimeSalesPercent" xlink:to="lab_fstr_OverTimeSalesPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_c7754086-87b2-46b4-aaca-91800893c9e0_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, net of tax:</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/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockCommonShares_7d88cebe-d158-43fa-9193-e7bac9fec8fc_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 - at cost, common stock (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/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockCommonShares" xlink:to="lab_us-gaap_TreasuryStockCommonShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_1f5c681a-9769-41b7-87da-5b81b6e2200f_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">Per share data attributable to L.B. Foster shareholders:</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/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringPlanAxis_f5d97d5e-448e-4c2b-8a2d-31a87456d4b7_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringPlanAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restructuring Plan [Axis]</link:label>
    <link:label id="lab_us-gaap_RestructuringPlanAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringPlanAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring Plan [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringPlanAxis" xlink:to="lab_us-gaap_RestructuringPlanAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsDomain_93ac211c-7cc7-4412-bcf5-a7dbc2fa7f02_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/2025/elts/srt-2025.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_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_04ed1075-ace2-491d-8ce5-5024a5b3ff29_terseLabel_en-US" xlink:label="lab_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business combination, term for payment of deferred consideration</link:label>
    <link:label id="lab_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_label_en-US" xlink:label="lab_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Payment Of Deferred Consideration, Term</link:label>
    <link:label id="lab_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_documentation_en-US" xlink:label="lab_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Business Combination, Payment Of Deferred Consideration, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" xlink:href="fstr-20250930.xsd#fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" xlink:to="lab_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_014b1148-92fe-42bf-a1e0-ca228dddccb3_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/2025/elts/us-gaap-2025.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_IncreaseDecreaseInContractWithCustomerLiability_5b208c65-35bf-4201-85db-69537f1327d4_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_e66b297e-60eb-490d-a809-d8938bdae1d6_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of dilutive securities:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted, Adjustment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_b5c22903-c193-48fe-a175-0c4f21829cf3_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss [Line Items]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems" xlink:to="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_bbb86160-f147-411c-a64b-9aef0b470466_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Income taxes paid</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_75447e93-eb47-4f34-9a44-893efb37dbfb_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 Inventory</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/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_64ce8893-40db-44f7-b6cf-b4982556c87d_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued payroll and employee benefits</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_6f87a78d-5708-4325-beda-c1c24761f096_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Recoveries of previous write-offs</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Recovery</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_6dc26d7b-6eb1-4c84-983b-abca0a7f5741_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from debt</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Issuance of Other Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_eab513d6-63fa-4a8b-97ae-b8a72f1a6cb2_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" 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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_edd9b5e7-af20-45b2-ab02-ac98e2675170_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 attributable to L.B. Foster Company</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_424cb09e-b3f9-4b48-83a7-22c9d8bdd38f_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 attributable to L.B. Foster Company</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_91658e66-83a8-4ec9-9e58-9a41aeb6909f_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_e0aba4c2-7297-47b9-a6ec-2956502ec7c0_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">Allowance for Credit Losses</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/2025/elts/us-gaap-2025.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_TimingOfTransferOfGoodOrServiceAxis_5429e05c-17a5-4596-96a6-d577da5fde29_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/2025/elts/us-gaap-2025.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_RestructuringCharges_e2bc8a08-9922-4901-b574-a85a47d9aecc_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">Personnel and other exit costs associated with AMH Exit</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/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCharges" xlink:to="lab_us-gaap_RestructuringCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_dc4b0c78-7d08-497d-b948-1d5cea15cec5_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Segment Reporting Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems" xlink:to="lab_us-gaap_SegmentReportingInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_BridgeGridDeckProductMember_f103f874-2348-469c-be94-db0c4f302c0a_terseLabel_en-US" xlink:label="lab_fstr_BridgeGridDeckProductMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Bridge Grid Deck Product</link:label>
    <link:label id="lab_fstr_BridgeGridDeckProductMember_label_en-US" xlink:label="lab_fstr_BridgeGridDeckProductMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Bridge Grid Deck Product [Member]</link:label>
    <link:label id="lab_fstr_BridgeGridDeckProductMember_documentation_en-US" xlink:label="lab_fstr_BridgeGridDeckProductMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Bridge Grid Deck Product</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_BridgeGridDeckProductMember" xlink:href="fstr-20250930.xsd#fstr_BridgeGridDeckProductMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_BridgeGridDeckProductMember" xlink:to="lab_fstr_BridgeGridDeckProductMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAbstract_6ce2bfa2-b02e-494e-aba1-f44ab257ba77_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Numerator for basic and diluted earnings per common share:</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAbstract_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Income (Loss) Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAbstract" xlink:to="lab_us-gaap_NetIncomeLossAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_999ce7c1-ae3d-45b6-b7e3-0856a4ff331f_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">Treasury stock acquisitions</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_BaseRateMember_e0f6d60e-9484-4cce-b1e6-229f3b5d63bf_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_ContractWithCustomerAssetNet_219d864d-343c-4b73-be68-1f10a0e96557_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract assets - net (Note 3)</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_1b062360-63f1-48ae-8fc7-1387acbf3ada_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance as of December 31, 2024</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_351792ef-5c11-49a3-991c-7c987028d07f_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance as of September 30, 2025</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetNet" xlink:to="lab_us-gaap_ContractWithCustomerAssetNet" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_0d8640dd-6087-4731-93b9-f1ef85091cc1_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/2025/dei-2025.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_fstr_GlobalFrictionManagementMember_10272453-70c9-42db-9e77-43f9e37df23d_terseLabel_en-US" xlink:label="lab_fstr_GlobalFrictionManagementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Global Friction Management</link:label>
    <link:label id="lab_fstr_GlobalFrictionManagementMember_label_en-US" xlink:label="lab_fstr_GlobalFrictionManagementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Global Friction Management [Member]</link:label>
    <link:label id="lab_fstr_GlobalFrictionManagementMember_documentation_en-US" xlink:label="lab_fstr_GlobalFrictionManagementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Global Friction Management</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_GlobalFrictionManagementMember" xlink:href="fstr-20250930.xsd#fstr_GlobalFrictionManagementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_GlobalFrictionManagementMember" xlink:to="lab_fstr_GlobalFrictionManagementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_c0975ef0-a428-4324-a7b7-f24731af5f59_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_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/2025/ecd-2025.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_us-gaap_CustomerRelationshipsMember_5e8d8c35-4caf-4000-ba08-82fb3d69bf13_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/2025/elts/us-gaap-2025.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_OperatingIncomeLoss_8c542264-1ba5-4e31-802d-e96f89ec9ef2_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">Operating income</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/2025/elts/us-gaap-2025.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_RetainedEarningsAccumulatedDeficit_c43583f7-563d-4faa-9cb2-797427025ad8_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/2025/elts/us-gaap-2025.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_GainLossOnSaleOfPropertyPlantEquipment_625def53-9bd2-4199-b5fa-04fb12346a0e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">(Gain) on sale of former joint venture facility</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_2112d7a5-2c62-44ea-a1bc-e7e5318fefc5_terseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gain on sale of former joint venture facility</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" order="1"/>
    <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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_TransferredOverTimeMember_bd5557bf-0bf5-4ff2-8eb2-f4d7d50e8870_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/2025/elts/us-gaap-2025.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_dei_CurrentFiscalYearEndDate_242823b1-4cd8-4041-9bf2-4662915011a2_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/2025/dei-2025.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_64e678dd-4f59-4605-b916-2a95c170319b_terseLabel_en-US" xlink:label="lab_us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Technology</link:label>
    <link:label id="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_label_en-US" xlink:label="lab_us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Technology-Based Intangible Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:to="lab_us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_42e43d5c-b00f-4aba-896a-209753292580_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_bd624be2-5a3b-4018-86cf-60111379833c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_19a431bc-3ab4-45eb-9897-5d96d40ac940_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other income - net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_f0206ee9-dc08-4ed5-bd54-3bf745cf9d46_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other 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/2025/elts/us-gaap-2025.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_StatementTable_f5ac5e10-0556-453d-8562-b8a56f4f760c_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/2025/elts/us-gaap-2025.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_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_9b9647c3-e6e3-494d-893e-f5fb2dcc54db_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase in billings in excess of cost, excluding revenue recognized</link:label>
    <link:label id="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_label_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Increase from Cash Receipts</link:label>
    <link:label id="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_documentation_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Increase from Cash Receipts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:to="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_7e9640e8-b5b1-42c1-848f-d3d86967462d_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_b5c863bb-136d-41bf-94aa-8ba898aaf684_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_0ca2cb33-c454-47ca-bc83-66d62dcbf798_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 cash used in 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">Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_NetCashProvidedByUsedInFinancingActivitiesAbstract_47e26146-f084-4200-8fd8-cf24181bfa80_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">Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_VariableRateDomain_a09cf4eb-5476-4e51-9682-0b56413e1778_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/2025/elts/us-gaap-2025.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_ContractWithCustomerLiability_019ae331-f122-4418-8ca4-a25e81aa7553_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance as of December 31, 2024</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_9af56dea-38e4-4335-98d5-a094ed5f7ce8_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance as of September&#160;30, 2025</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/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_36d5660c-84f9-4fe4-937c-41f232580fee_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_9a8fb0e0-23af-4323-9a12-5083d437441d_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/2025/elts/us-gaap-2025.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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_7e60885b-f481-44b4-bf08-f82c0a698636_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/2025/elts/us-gaap-2025.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_062614b2-2c48-4fbc-b0f3-603c622f457e_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments to acquire businesses</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 Asset Acquired to Liability Assumed, Excess (Less)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_FairValueByBalanceSheetGroupingTable_62f9afc5-14b6-4ff4-976b-73355212c04b_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueByBalanceSheetGroupingTable_label_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_0b44f201-eccb-4ccc-aae6-ef10ed8c3052_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/2025/elts/us-gaap-2025.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_dei_AmendmentFlag_fccc4c1e-70a6-48bc-b970-c8a5070a0417_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/2025/dei-2025.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_fstr_OverTimeOutputMethodMember_ae6f82e5-ae1e-4483-8126-b0f349093ac0_terseLabel_en-US" xlink:label="lab_fstr_OverTimeOutputMethodMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Over time output method</link:label>
    <link:label id="lab_fstr_OverTimeOutputMethodMember_label_en-US" xlink:label="lab_fstr_OverTimeOutputMethodMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Over Time Output Method [Member]</link:label>
    <link:label id="lab_fstr_OverTimeOutputMethodMember_documentation_en-US" xlink:label="lab_fstr_OverTimeOutputMethodMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Over Time Output Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeOutputMethodMember" xlink:href="fstr-20250930.xsd#fstr_OverTimeOutputMethodMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OverTimeOutputMethodMember" xlink:to="lab_fstr_OverTimeOutputMethodMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockCommonValue_3dee5a84-22ba-43ee-a675-00ac017e188e_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Treasury stock - at cost, 867,973 and 542,347 common stock shares at September&#160;30, 2025 and December&#160;31, 2024, respectively</link:label>
    <link:label id="lab_us-gaap_TreasuryStockCommonValue_label_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury Stock, Common, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockCommonValue" xlink:to="lab_us-gaap_TreasuryStockCommonValue" 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/2025/ecd-2025.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_NetCashProvidedByUsedInFinancingActivities_0701a968-39eb-40d8-8dbe-a197b37752ca_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) provided by 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">Cash Provided by (Used in) Financing Activity, Including Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_9b2b3217-c41b-4c60-83e8-5a6549af3963_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Contract assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" 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/2025/ecd-2025.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_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/2025/ecd-2025.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_InventoryRawMaterialsNetOfReserves_2cd97120-8a57-4fe2-b3c9-2d327a8e2bcf_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Raw materials</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/2025/elts/us-gaap-2025.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_fstr_EquityLossIncomeAndRemeasurementGain_6ea339cb-3cc6-4f17-97ff-160261c12e83_terseLabel_en-US" xlink:label="lab_fstr_EquityLossIncomeAndRemeasurementGain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity in income of nonconsolidated investments</link:label>
    <link:label id="lab_fstr_EquityLossIncomeAndRemeasurementGain_label_en-US" xlink:label="lab_fstr_EquityLossIncomeAndRemeasurementGain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity (Loss) Income And Remeasurement Gain</link:label>
    <link:label id="lab_fstr_EquityLossIncomeAndRemeasurementGain_documentation_en-US" xlink:label="lab_fstr_EquityLossIncomeAndRemeasurementGain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Equity (Loss) Income And Remeasurement Gain</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EquityLossIncomeAndRemeasurementGain" xlink:href="fstr-20250930.xsd#fstr_EquityLossIncomeAndRemeasurementGain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_EquityLossIncomeAndRemeasurementGain" xlink:to="lab_fstr_EquityLossIncomeAndRemeasurementGain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_bf80686c-7e8f-44a5-a3da-171e3b33ccd6_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 weighted average shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_13f709fd-45ab-4b7e-b556-cf07c24a7da5_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Denominator for basic earnings per common share (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/2025/elts/us-gaap-2025.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_us-gaap_DisposalGroupClassificationDomain_06ca0385-07e0-4bac-8a1b-1e6f019a1386_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain" xlink:to="lab_us-gaap_DisposalGroupClassificationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_ce903145-009f-40e4-b7d2-aa33fa4b8a63_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 Earnings Per Share, Basic and Diluted</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/2025/elts/us-gaap-2025.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_srt_DirectorMember_94275ea0-464e-415c-bdc6-ff4414c6ebe8_terseLabel_en-US" xlink:label="lab_srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Director</link:label>
    <link:label id="lab_srt_DirectorMember_label_en-US" xlink:label="lab_srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Director [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_DirectorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_DirectorMember" xlink:to="lab_srt_DirectorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_042fc1fe-69df-488f-9a63-776a727de5a5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Transfers from contract asset balance to accounts receivable</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset, Reclassified to Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:to="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfRevenue_8f0dc9a3-78a6-4a70-8eec-fdfd10a02b43_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">Total cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfRevenue_6c5a2a0d-b988-436d-acf4-8c5dd21b0f4a_negatedLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_fstr_PersonnelExpenses_722bddde-db72-4455-ae65-eb978518aae1_terseLabel_en-US" xlink:label="lab_fstr_PersonnelExpenses" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Personnel expenses</link:label>
    <link:label id="lab_fstr_PersonnelExpenses_label_en-US" xlink:label="lab_fstr_PersonnelExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Personnel Expenses</link:label>
    <link:label id="lab_fstr_PersonnelExpenses_documentation_en-US" xlink:label="lab_fstr_PersonnelExpenses" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Personnel Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PersonnelExpenses" xlink:href="fstr-20250930.xsd#fstr_PersonnelExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PersonnelExpenses" xlink:to="lab_fstr_PersonnelExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_9872fb16-3e3d-47c9-8436-48928a6d03b0_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/2025/dei-2025.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_fstr_CorporateExecutiveManagementCosts_790c3864-ab3e-45b6-8585-37f49ed7c8bf_negatedTerseLabel_en-US" xlink:label="lab_fstr_CorporateExecutiveManagementCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Corporate executive management costs</link:label>
    <link:label id="lab_fstr_CorporateExecutiveManagementCosts_label_en-US" xlink:label="lab_fstr_CorporateExecutiveManagementCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Executive Management Costs</link:label>
    <link:label id="lab_fstr_CorporateExecutiveManagementCosts_documentation_en-US" xlink:label="lab_fstr_CorporateExecutiveManagementCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Corporate Executive Management Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExecutiveManagementCosts" xlink:href="fstr-20250930.xsd#fstr_CorporateExecutiveManagementCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_CorporateExecutiveManagementCosts" xlink:to="lab_fstr_CorporateExecutiveManagementCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductLiabilityContingencyLineItems_52ad12f4-9802-458a-8d1d-611bf39823cf_terseLabel_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Liability Contingency</link:label>
    <link:label id="lab_us-gaap_ProductLiabilityContingencyLineItems_label_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems" xlink:to="lab_us-gaap_ProductLiabilityContingencyLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_44648278-4568-4c5d-b36e-c0877adcdebd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Write-off against allowance</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e1d2b86b-678b-404d-85c8-cd641367e78b_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</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/2025/elts/us-gaap-2025.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_CommonStockParOrStatedValuePerShare_2c05c798-feb0-480c-96a8-762ff3c2c8f6_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 USD 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/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_344374f1-455a-4ac6-bd30-4b99d7a170dd_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/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_381f2c8a-525f-4ce9-820f-08040da3dede_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 Other 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/2025/elts/us-gaap-2025.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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_3722c6c0-019a-4cef-87a8-9d71c2320f89_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of pension liability adjustments to earnings, net of tax expense of $0, $5, $0, and $12, respectively*</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_RailProductsMember_f952587e-7c6a-46b3-b5b6-ca2a0663b10a_terseLabel_en-US" xlink:label="lab_fstr_RailProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Rail Products</link:label>
    <link:label id="lab_fstr_RailProductsMember_label_en-US" xlink:label="lab_fstr_RailProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Rail Products [Member]</link:label>
    <link:label id="lab_fstr_RailProductsMember_documentation_en-US" xlink:label="lab_fstr_RailProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Rail Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailProductsMember" xlink:href="fstr-20250930.xsd#fstr_RailProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_RailProductsMember" xlink:to="lab_fstr_RailProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_425f4f88-5c6a-4589-947d-f5b448259afc_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation settlement amount, current</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_label_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount Awarded To Other Party, Current</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_documentation_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount Awarded To Other Party, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:to="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty_30b4543d-6b75-4e18-96ff-f125003f5df0_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation settlement amount</link:label>
    <link:label id="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty_label_en-US" xlink:label="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount Awarded to Other Party</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:to="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_54545b06-27b4-40ed-a9bd-68c8fb2a900b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule 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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_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/2025/ecd-2025.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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_99952dac-2976-4416-8ec3-fc3896589b6c_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/2025/elts/us-gaap-2025.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_AccountsNotesAndLoansReceivableNetCurrent_a47df9b3-3f97-4f0a-81b8-7c84bfcc562d_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsNotesAndLoansReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable - net (Note 5)</link:label>
    <link:label id="lab_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsNotesAndLoansReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts and Financing Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsNotesAndLoansReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsNotesAndLoansReceivableNetCurrent" 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/2025/ecd-2025.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_CorporateNonSegmentMember_531982ca-21b8-4e09-a567-69fa4647ac4b_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/2025/elts/us-gaap-2025.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_dei_SecurityExchangeName_a58c6b56-0ab9-4656-ba09-8ec0d0eafa04_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/2025/dei-2025.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_fstr_August2024RestructuringMember_a3527749-5802-4b90-8fd2-537d3d32eb3e_terseLabel_en-US" xlink:label="lab_fstr_August2024RestructuringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">August 2024 Restructuring</link:label>
    <link:label id="lab_fstr_August2024RestructuringMember_label_en-US" xlink:label="lab_fstr_August2024RestructuringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">August 2024 Restructuring [Member]</link:label>
    <link:label id="lab_fstr_August2024RestructuringMember_documentation_en-US" xlink:label="lab_fstr_August2024RestructuringMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">August 2024 Restructuring</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_August2024RestructuringMember" xlink:href="fstr-20250930.xsd#fstr_August2024RestructuringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_August2024RestructuringMember" xlink:to="lab_fstr_August2024RestructuringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_bc1ffe49-e944-4f07-8556-c8e654ed63ba_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">Line of credit facility, maximum borrowing capacity</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_8702775a-23f7-45fc-9d46-2f4b438cc729_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Costs of Retirement Plans</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Costs of Retirement Plans [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_807fd06a-cef8-425f-9f74-28e4742a1d09_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">Purchase of common shares for treasury (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/2025/elts/us-gaap-2025.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_fstr_OvernightBankFundingRateMember_b434fefb-c788-4a19-9ae6-2b6ec5546091_terseLabel_en-US" xlink:label="lab_fstr_OvernightBankFundingRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Overnight Bank Funding Rate</link:label>
    <link:label id="lab_fstr_OvernightBankFundingRateMember_label_en-US" xlink:label="lab_fstr_OvernightBankFundingRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Overnight Bank Funding Rate [Member]</link:label>
    <link:label id="lab_fstr_OvernightBankFundingRateMember_documentation_en-US" xlink:label="lab_fstr_OvernightBankFundingRateMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Overnight Bank Funding Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OvernightBankFundingRateMember" xlink:href="fstr-20250930.xsd#fstr_OvernightBankFundingRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OvernightBankFundingRateMember" xlink:to="lab_fstr_OvernightBankFundingRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_b74cef8c-8a15-4911-9e83-50e4846680e9_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Less:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" 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/2025/ecd-2025.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_TrademarksAndTradeNamesMember_7c55a4fb-7da3-4bfe-afde-35c8a2d843bd_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Trademarks and trade names</link:label>
    <link:label id="lab_us-gaap_TrademarksAndTradeNamesMember_label_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trademarks and Trade Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:to="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_d5fe6680-d9a2-4439-a78d-6dd31d1bdbed_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common shares, net of share withheld for taxes</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_8fbba48a-0b4d-44bd-adf9-ee9345017964_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</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/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_4e548e8e-5977-4980-a6f1-214f3dfbe522_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/2025/elts/us-gaap-2025.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_4c5f21ad-c751-45f3-ac03-7d694e2b0897_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</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/2025/elts/us-gaap-2025.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_srt_ConsolidationItemsAxis_d87083b1-a8fd-428b-8291-4e95dd8492d4_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/2025/elts/srt-2025.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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_1ec7e07d-1967-4c11-a9ab-ccb3c40f2403_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">Schedule of Restructuring Reserve</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/2025/elts/us-gaap-2025.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_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/2025/ecd-2025.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_us-gaap_CashAndCashEquivalentsAtCarryingValue_8caeedaa-0a4b-4a6e-a6e7-3bbc0fa2cc88_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 Equivalent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_7a01d24c-3a17-4690-8c83-10ba07636c84_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_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/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c2e3f6c1-c9f8-4d67-8fd9-608730b121eb_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_cccf9c13-cb46-4868-ba0f-ce5a1be7d302_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/2025/dei-2025.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_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/2025/ecd-2025.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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e1587de8-b6b4-4e56-8bce-015ebb031d0d_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net increase 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 Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_c21f1cac-e27f-4df3-a639-1d8cb82820fe_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Dilutive potential common shares (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>fstr-20250930_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:7d5ac89a-83a2-47ec-b376-138d8c6e27e5,g:618b3232-2c41-4f96-88c5-426a8015ae6c-->
<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.lbfoster.com/role/Cover" xlink:type="simple" xlink:href="fstr-20250930.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_c8e5bd27-5f24-4da8-b9f6-0fc0ed5310cc" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_DocumentType_c8e5bd27-5f24-4da8-b9f6-0fc0ed5310cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_c67055a2-3e8e-492f-a380-19ec7cd53306" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_DocumentQuarterlyReport_c67055a2-3e8e-492f-a380-19ec7cd53306" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_1820ff55-0181-4b5f-8294-1bd63451e477" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_DocumentPeriodEndDate_1820ff55-0181-4b5f-8294-1bd63451e477" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_79c6d74f-271d-4a24-bcfe-c0d5a0e3f490" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_DocumentTransitionReport_79c6d74f-271d-4a24-bcfe-c0d5a0e3f490" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_3c079102-a624-49a2-8a45-a42c405f56bb" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityFileNumber_3c079102-a624-49a2-8a45-a42c405f56bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_956fc6f6-c864-4c18-8d07-d07f26a92fdf" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityRegistrantName_956fc6f6-c864-4c18-8d07-d07f26a92fdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_5220b0fa-e7c6-43fa-92fd-fe98ab828387" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityIncorporationStateCountryCode_5220b0fa-e7c6-43fa-92fd-fe98ab828387" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_31ed2a51-1f26-45c2-84e5-d49bc22926f2" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityTaxIdentificationNumber_31ed2a51-1f26-45c2-84e5-d49bc22926f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_b50dc810-f835-423e-b643-1c703cac7db4" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityAddressAddressLine1_b50dc810-f835-423e-b643-1c703cac7db4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_fb672dae-04ba-4c96-a5f5-0024bec41119" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityAddressAddressLine2_fb672dae-04ba-4c96-a5f5-0024bec41119" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_5319d77b-9a07-4ab3-bec3-94b39b684263" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityAddressCityOrTown_5319d77b-9a07-4ab3-bec3-94b39b684263" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_599247ca-13ca-4580-9436-8a36ad5d433c" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityAddressStateOrProvince_599247ca-13ca-4580-9436-8a36ad5d433c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_3896b22d-dff6-4281-9394-cb2c3bc5659f" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityAddressPostalZipCode_3896b22d-dff6-4281-9394-cb2c3bc5659f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_0dff4650-ef5a-4548-a5fd-f0b08c5a324b" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_CityAreaCode_0dff4650-ef5a-4548-a5fd-f0b08c5a324b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_79555be6-74b5-497a-a71c-8c04365aaf31" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_LocalPhoneNumber_79555be6-74b5-497a-a71c-8c04365aaf31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_e375d1df-149e-4b37-bf3a-3816fca2e898" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_Security12bTitle_e375d1df-149e-4b37-bf3a-3816fca2e898" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_e6b09715-4118-4960-bca6-2433df06d22e" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_TradingSymbol_e6b09715-4118-4960-bca6-2433df06d22e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_f481dfdc-5e27-4ece-8d6b-04c65e66aecb" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_SecurityExchangeName_f481dfdc-5e27-4ece-8d6b-04c65e66aecb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_2f9c647e-3331-47f4-8185-b67807a1974c" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityCurrentReportingStatus_2f9c647e-3331-47f4-8185-b67807a1974c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_81db9a4a-f472-4844-9305-aaf314a0abe2" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityInteractiveDataCurrent_81db9a4a-f472-4844-9305-aaf314a0abe2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_758fbaaa-0afc-422a-bcbe-1cafa6487e93" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityFilerCategory_758fbaaa-0afc-422a-bcbe-1cafa6487e93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_f299f7ff-0b6b-440a-89fa-ebbe20217f31" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntitySmallBusiness_f299f7ff-0b6b-440a-89fa-ebbe20217f31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_1d4361fa-5422-413e-90a1-bb64ee61af88" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityEmergingGrowthCompany_1d4361fa-5422-413e-90a1-bb64ee61af88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_7b51fa40-4f73-4e80-a8d0-4afb92d6221f" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityShellCompany_7b51fa40-4f73-4e80-a8d0-4afb92d6221f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_19dab5bd-85d1-4132-b646-75be86580e6f" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_19dab5bd-85d1-4132-b646-75be86580e6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_a60f33d9-37e4-4fc1-b797-3cab31c327a8" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_AmendmentFlag_a60f33d9-37e4-4fc1-b797-3cab31c327a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_3e7f81a4-73f3-4edd-a4ba-1086d2bbbab2" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_DocumentFiscalYearFocus_3e7f81a4-73f3-4edd-a4ba-1086d2bbbab2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_af963d70-6123-4e55-8602-7ff3ac0653f3" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_DocumentFiscalPeriodFocus_af963d70-6123-4e55-8602-7ff3ac0653f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_14463a73-fdc0-4be9-9abc-9a9470b0ace3" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_EntityCentralIndexKey_14463a73-fdc0-4be9-9abc-9a9470b0ace3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_a0345685-22b4-464d-a68f-227e755337b8" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_99ee9b6c-330f-4cd7-8732-b1f60a38b141" xlink:to="loc_dei_CurrentFiscalYearEndDate_a0345685-22b4-464d-a68f-227e755337b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_366e09f9-05c8-4730-a65c-9a83e6508590" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_366e09f9-05c8-4730-a65c-9a83e6508590" xlink:to="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:to="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_0a902895-b8c3-4612-9caa-6d38977d1ee6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_0a902895-b8c3-4612-9caa-6d38977d1ee6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_656dbadb-2081-464a-9582-257c839f5eff" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsNotesAndLoansReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:to="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_656dbadb-2081-464a-9582-257c839f5eff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_951181e8-21bb-4bf2-820b-8a370bd9cb18" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_951181e8-21bb-4bf2-820b-8a370bd9cb18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_6c187724-1a36-4242-9b86-454e9f8d4cc8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:to="loc_us-gaap_InventoryNet_6c187724-1a36-4242-9b86-454e9f8d4cc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_9da97c72-088c-4e14-b819-7d6aab1715d6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:to="loc_us-gaap_OtherAssetsCurrent_9da97c72-088c-4e14-b819-7d6aab1715d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_c0391048-24b4-4bfa-a206-56eef55c126d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_566b378b-b659-4a03-b373-28ff470207eb" xlink:to="loc_us-gaap_AssetsCurrent_c0391048-24b4-4bfa-a206-56eef55c126d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_7c16ded1-8106-4ab8-8b0b-93826f767be5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_7c16ded1-8106-4ab8-8b0b-93826f767be5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_a9be9b1e-52c4-42c7-af3d-733336efc34a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_a9be9b1e-52c4-42c7-af3d-733336efc34a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrentAbstract_f75650af-cfdf-41eb-8966-c47dd578e707" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrentAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:to="loc_us-gaap_OtherAssetsNoncurrentAbstract_f75650af-cfdf-41eb-8966-c47dd578e707" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_a7ed8cfe-b44b-4499-839c-dcbd4960ad2f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_f75650af-cfdf-41eb-8966-c47dd578e707" xlink:to="loc_us-gaap_Goodwill_a7ed8cfe-b44b-4499-839c-dcbd4960ad2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_79f8a08e-f763-4452-9179-3d4ae9a6b9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_f75650af-cfdf-41eb-8966-c47dd578e707" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_79f8a08e-f763-4452-9179-3d4ae9a6b9bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_2fa13303-80c3-4d4a-bc19-579020e5a8dc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_f75650af-cfdf-41eb-8966-c47dd578e707" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_2fa13303-80c3-4d4a-bc19-579020e5a8dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_667e6f63-56e8-486d-b5e5-a6ba7733d43d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_f75650af-cfdf-41eb-8966-c47dd578e707" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_667e6f63-56e8-486d-b5e5-a6ba7733d43d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_84f947bc-3457-41f5-a2f2-dd249dfc57e1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_a31923fb-5386-487b-aff7-5efdebc81f9c" xlink:to="loc_us-gaap_Assets_84f947bc-3457-41f5-a2f2-dd249dfc57e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_366e09f9-05c8-4730-a65c-9a83e6508590" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_b7318ff8-64f9-4c40-8b8a-677e2b22660b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:to="loc_us-gaap_AccountsPayableCurrent_b7318ff8-64f9-4c40-8b8a-677e2b22660b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_b0efd32e-f2f2-4d17-982c-75aacfeb2013" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_b0efd32e-f2f2-4d17-982c-75aacfeb2013" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_7c5a762b-6bde-46e0-bc0a-7bc4a26dc8b0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_7c5a762b-6bde-46e0-bc0a-7bc4a26dc8b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_5edaf9ba-9f0a-4a67-9dfc-0e65673d799d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_5edaf9ba-9f0a-4a67-9dfc-0e65673d799d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_9fc48ef1-7253-4311-8d59-1807f9b68fbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_9fc48ef1-7253-4311-8d59-1807f9b68fbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_80d38e75-931c-4056-9a0a-6ae08712abcc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_ab5ffd43-97c5-4763-a1de-ee4687950376" xlink:to="loc_us-gaap_LiabilitiesCurrent_80d38e75-931c-4056-9a0a-6ae08712abcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_db350fc9-7aae-4c0f-8272-64c94373aed2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_db350fc9-7aae-4c0f-8272-64c94373aed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_5a73d42c-018c-4d69-8e31-c33e76e31ecd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_5a73d42c-018c-4d69-8e31-c33e76e31ecd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a4c2d07c-5d93-425c-95de-2f96ec4e621e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a4c2d07c-5d93-425c-95de-2f96ec4e621e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_3b1bc55f-5395-4029-8b9a-038c8ec34488" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_3b1bc55f-5395-4029-8b9a-038c8ec34488" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_1040b656-aac2-4db9-89ce-2b05e0da2a89" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_CommonStockValue_1040b656-aac2-4db9-89ce-2b05e0da2a89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_0d02b6bb-5c4b-4929-879f-3d995d6757a3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_AdditionalPaidInCapital_0d02b6bb-5c4b-4929-879f-3d995d6757a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_a84f0f1a-68aa-46a9-86bb-cdff5c2d718d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_a84f0f1a-68aa-46a9-86bb-cdff5c2d718d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonValue_ba495e4f-b7ff-454a-9893-a142a116eec6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_TreasuryStockCommonValue_ba495e4f-b7ff-454a-9893-a142a116eec6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_3938e734-1891-4e7c-94a2-479f1590adf3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_3938e734-1891-4e7c-94a2-479f1590adf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_32881de8-acff-40d2-bbd1-b14231287d4a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_StockholdersEquity_32881de8-acff-40d2-bbd1-b14231287d4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MinorityInterest_ce9e526c-7ccd-46ab-9d7a-5c56e8f77a8b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_MinorityInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_MinorityInterest_ce9e526c-7ccd-46ab-9d7a-5c56e8f77a8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_c65ed63c-e5d3-4984-a516-815d1ee845de" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_d04d1efa-9f8f-40df-9b04-c804360ede2f" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_c65ed63c-e5d3-4984-a516-815d1ee845de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f3d27e8-6179-4f63-9088-20ef91d8635b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_bde8b276-de5f-4b57-adff-39a58a700d19" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f3d27e8-6179-4f63-9088-20ef91d8635b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_d73df587-cfb4-426f-b2c2-c8b5d57b0f7f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_990fc83e-515e-476b-a604-e4ebc124b4c4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d73df587-cfb4-426f-b2c2-c8b5d57b0f7f" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_990fc83e-515e-476b-a604-e4ebc124b4c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_27590758-a079-42fe-9361-68a9e064f145" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d73df587-cfb4-426f-b2c2-c8b5d57b0f7f" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_27590758-a079-42fe-9361-68a9e064f145" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_1a028f5f-0f92-4ca6-9098-3867093f6f62" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d73df587-cfb4-426f-b2c2-c8b5d57b0f7f" xlink:to="loc_us-gaap_CommonStockSharesIssued_1a028f5f-0f92-4ca6-9098-3867093f6f62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_b58ac2d5-9bd3-491d-8208-ce80a8e5be72" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d73df587-cfb4-426f-b2c2-c8b5d57b0f7f" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_b58ac2d5-9bd3-491d-8208-ce80a8e5be72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_2c76b528-e621-4e81-b31b-456c22933def" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d73df587-cfb4-426f-b2c2-c8b5d57b0f7f" xlink:to="loc_us-gaap_TreasuryStockCommonShares_2c76b528-e621-4e81-b31b-456c22933def" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_dac6ddfd-b3c3-46b4-b720-51f0bbdf5cb7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_dac6ddfd-b3c3-46b4-b720-51f0bbdf5cb7" xlink:to="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:to="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_221e6b59-498b-4e80-bbd5-023cb4d78866" xlink:to="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_4bc091ed-81fd-42ac-859a-f44a64308254" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:to="loc_us-gaap_ProductMember_4bc091ed-81fd-42ac-859a-f44a64308254" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember_c7977b40-657c-4487-af75-b789f37c915e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ServiceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_9e0143a6-6543-4dee-8f3b-d78914662c8f" xlink:to="loc_us-gaap_ServiceMember_c7977b40-657c-4487-af75-b789f37c915e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_cf27a005-b0ca-4502-838a-a29ce307f4c2" xlink:to="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_949d5f94-75f8-4b3a-b674-bd6547e9dbbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_949d5f94-75f8-4b3a-b674-bd6547e9dbbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_e7f60c82-486a-4f41-8ca4-65609b8827e3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_CostOfRevenue_e7f60c82-486a-4f41-8ca4-65609b8827e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_64602d35-9da5-4111-9c86-33dfc2f40429" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_GrossProfit_64602d35-9da5-4111-9c86-33dfc2f40429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_55002896-f05f-42d9-9279-535bff9d4f2e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_55002896-f05f-42d9-9279-535bff9d4f2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_b6367ffe-2e6d-482e-9788-d929dcc5cb08" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_b6367ffe-2e6d-482e-9788-d929dcc5cb08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_e06621c7-755f-4e88-bdf3-08bdae075be9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_e06621c7-755f-4e88-bdf3-08bdae075be9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_88cd840c-3aae-4bb7-ab53-4ea75c7ef823" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_OperatingIncomeLoss_88cd840c-3aae-4bb7-ab53-4ea75c7ef823" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_54b81bac-3add-4880-856b-09e20ee4b224" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_54b81bac-3add-4880-856b-09e20ee4b224" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_2b93951e-5edc-465c-a2a4-6c30eee9924f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_2b93951e-5edc-465c-a2a4-6c30eee9924f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ed63dfe4-e17c-4707-b1c5-e411a7c7679e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ed63dfe4-e17c-4707-b1c5-e411a7c7679e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_f448b7ff-5ef3-4606-845d-14b571ad4d12" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_f448b7ff-5ef3-4606-845d-14b571ad4d12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_e71e09b7-df53-4182-a4ea-f53e937ff02f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_ProfitLoss_e71e09b7-df53-4182-a4ea-f53e937ff02f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_b613ce1f-2835-4218-be97-f48191c1be41" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_b613ce1f-2835-4218-be97-f48191c1be41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_700c01bd-9214-41c2-83ed-1dba8872f366" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_NetIncomeLoss_700c01bd-9214-41c2-83ed-1dba8872f366" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_1285a985-1bfc-4cf1-aefe-01b358cee42d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:to="loc_us-gaap_EarningsPerShareBasic_1285a985-1bfc-4cf1-aefe-01b358cee42d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_24c0ace0-b30c-459c-ba1f-96228f98cfb8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_4326f32d-36c8-468f-b3d6-b27809b8cf02" xlink:to="loc_us-gaap_EarningsPerShareDiluted_24c0ace0-b30c-459c-ba1f-96228f98cfb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5e9737e3-ea11-4653-90ec-ff6e14053935" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5e9737e3-ea11-4653-90ec-ff6e14053935" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6f49ccfc-3e44-48ce-b805-1f1216984c95" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2dd5c4a4-e8a2-4be0-9086-51c228c953ba" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6f49ccfc-3e44-48ce-b805-1f1216984c95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0fb8975-9510-4868-a38b-b0b19c948e7d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_6cafe835-ccd3-4f7e-a32a-1dcbc6e79f92" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0fb8975-9510-4868-a38b-b0b19c948e7d" xlink:to="loc_us-gaap_ProfitLoss_6cafe835-ccd3-4f7e-a32a-1dcbc6e79f92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_2ee7b205-a33c-4c75-bba4-0febd857e29d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0fb8975-9510-4868-a38b-b0b19c948e7d" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_2ee7b205-a33c-4c75-bba4-0febd857e29d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_c381873c-b5dd-4f3b-8009-4b2aeb70b25c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_2ee7b205-a33c-4c75-bba4-0febd857e29d" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_c381873c-b5dd-4f3b-8009-4b2aeb70b25c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_3cb00d4d-e961-4727-958d-d711000bce5e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_2ee7b205-a33c-4c75-bba4-0febd857e29d" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_3cb00d4d-e961-4727-958d-d711000bce5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_a11bc173-d45a-4c81-9118-78c7ccc583fa" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_2ee7b205-a33c-4c75-bba4-0febd857e29d" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_a11bc173-d45a-4c81-9118-78c7ccc583fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_cf6a3d14-98f0-4b13-a6d5-733c1691b44e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_2ee7b205-a33c-4c75-bba4-0febd857e29d" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_cf6a3d14-98f0-4b13-a6d5-733c1691b44e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_88822e35-59cd-45a7-94be-9f2b4e139877" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0fb8975-9510-4868-a38b-b0b19c948e7d" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_88822e35-59cd-45a7-94be-9f2b4e139877" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_9561d191-86b9-4192-a50c-eda5f38bacdc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_88822e35-59cd-45a7-94be-9f2b4e139877" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_9561d191-86b9-4192-a50c-eda5f38bacdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_a728b4a0-02ba-4bb3-968f-60709fd23d82" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_88822e35-59cd-45a7-94be-9f2b4e139877" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_a728b4a0-02ba-4bb3-968f-60709fd23d82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_60677793-f42e-4b12-8981-a7ff2210de2f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_88822e35-59cd-45a7-94be-9f2b4e139877" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_60677793-f42e-4b12-8981-a7ff2210de2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_1f76905b-08da-4e1f-91c8-d95dda35f7ca" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0fb8975-9510-4868-a38b-b0b19c948e7d" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_1f76905b-08da-4e1f-91c8-d95dda35f7ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_d40673ae-ce64-431a-9e85-2a15bc0b4c62" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_85a6df15-fee1-45c2-8204-15b3187f19b2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_d40673ae-ce64-431a-9e85-2a15bc0b4c62" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_85a6df15-fee1-45c2-8204-15b3187f19b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_46120d08-3657-4efb-ad71-46e4bc8bec13" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_d40673ae-ce64-431a-9e85-2a15bc0b4c62" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_46120d08-3657-4efb-ad71-46e4bc8bec13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4321940b-d032-42da-a78f-ffc0a5633ae5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4321940b-d032-42da-a78f-ffc0a5633ae5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_04397b5f-5a3a-4706-9f7e-754aeeaab2f3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4321940b-d032-42da-a78f-ffc0a5633ae5" xlink:to="loc_us-gaap_ProfitLoss_04397b5f-5a3a-4706-9f7e-754aeeaab2f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4321940b-d032-42da-a78f-ffc0a5633ae5" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_df243fb7-e354-4e92-91aa-a527cc9b165a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_df243fb7-e354-4e92-91aa-a527cc9b165a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_f7dd5a36-f258-4d1b-a450-b018fb64f914" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_Depreciation_f7dd5a36-f258-4d1b-a450-b018fb64f914" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_30defdbc-9075-4ab0-945f-8be771261c39" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_AdjustmentForAmortization_30defdbc-9075-4ab0-945f-8be771261c39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_58c40027-0460-4156-bb65-bbf44193ca23" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessExitCosts1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_BusinessExitCosts1_58c40027-0460-4156-bb65-bbf44193ca23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EquityLossIncomeAndRemeasurementGain_dbd46afe-dce2-4aef-b03c-7ab459ec0852" xlink:href="fstr-20250930.xsd#fstr_EquityLossIncomeAndRemeasurementGain"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_fstr_EquityLossIncomeAndRemeasurementGain_dbd46afe-dce2-4aef-b03c-7ab459ec0852" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnDispositionOfAssets_b299f6be-4e66-4bd0-b473-2647d39b3b67" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnDispositionOfAssets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_GainLossOnDispositionOfAssets_b299f6be-4e66-4bd0-b473-2647d39b3b67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_f082d902-bcbd-4e20-a736-5cb36be75bb6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_ShareBasedCompensation_f082d902-bcbd-4e20-a736-5cb36be75bb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_d2afeca4-7651-4aa5-b06f-87cc7e811775" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_c37eca4a-bba3-4776-b6fc-799f191d448c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_c37eca4a-bba3-4776-b6fc-799f191d448c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_7b99ee47-dc0f-4e71-8869-ee1aed848140" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_7b99ee47-dc0f-4e71-8869-ee1aed848140" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_e26cdba8-34cc-4d02-8d45-f57925b936f0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_e26cdba8-34cc-4d02-8d45-f57925b936f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_7e9e5998-7d5a-40d4-b98a-42dfeef75700" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_7e9e5998-7d5a-40d4-b98a-42dfeef75700" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_61403407-cb4f-42c1-bb3a-2b93e4869a55" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_61403407-cb4f-42c1-bb3a-2b93e4869a55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_35232601-325c-46d1-b894-5a766f2840c4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_35232601-325c-46d1-b894-5a766f2840c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_cb719b71-5900-4c8a-aa71-fd11fd5d97c9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_cb719b71-5900-4c8a-aa71-fd11fd5d97c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_6098cc05-d635-4ad0-a24a-d13b2ca9d673" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_6098cc05-d635-4ad0-a24a-d13b2ca9d673" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_IncreaseDecreaseInAccruedSettlement_b0d634dd-e067-447d-8551-dadf67434df0" xlink:href="fstr-20250930.xsd#fstr_IncreaseDecreaseInAccruedSettlement"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_fstr_IncreaseDecreaseInAccruedSettlement_b0d634dd-e067-447d-8551-dadf67434df0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_ddecf335-9aaf-4650-9746-16bd6eb7037b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_ddecf335-9aaf-4650-9746-16bd6eb7037b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_7bcf4f22-212a-472f-a11a-9f2ba72bd63f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_39f54714-287a-4db2-b388-5a22efed3fca" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_7bcf4f22-212a-472f-a11a-9f2ba72bd63f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_7aac82e6-c67d-44fa-ae52-d8f8dfceb657" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4321940b-d032-42da-a78f-ffc0a5633ae5" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_7aac82e6-c67d-44fa-ae52-d8f8dfceb657" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_3763318a-07a9-4e4d-8f93-34d4c8b68837" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_3763318a-07a9-4e4d-8f93-34d4c8b68837" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_df2e9995-46cc-4889-8565-14b89af31ad8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_3763318a-07a9-4e4d-8f93-34d4c8b68837" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_df2e9995-46cc-4889-8565-14b89af31ad8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_86322141-c464-42b3-9596-6f9eb312c2fe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_3763318a-07a9-4e4d-8f93-34d4c8b68837" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_86322141-c464-42b3-9596-6f9eb312c2fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_6b02f4dd-2328-4d0d-9b62-2e0aaf63701a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_3763318a-07a9-4e4d-8f93-34d4c8b68837" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_6b02f4dd-2328-4d0d-9b62-2e0aaf63701a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherLongTermDebt_218c9c2e-894f-4333-aa12-9709c0bc969d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RepaymentsOfOtherLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:to="loc_us-gaap_RepaymentsOfOtherLongTermDebt_218c9c2e-894f-4333-aa12-9709c0bc969d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_c0430bf7-2257-4172-a6d4-bac693514c4e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_c0430bf7-2257-4172-a6d4-bac693514c4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_288ea1f8-6082-4281-9770-3f72dd982f86" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_288ea1f8-6082-4281-9770-3f72dd982f86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_4ae0560d-da65-4002-9525-603dbb1d7952" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_4ae0560d-da65-4002-9525-603dbb1d7952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_72d0dcef-e602-4be6-b076-b29d114c5df9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_72d0dcef-e602-4be6-b076-b29d114c5df9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d716e2bf-049f-4edc-8091-8822bebcab1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_6f448f92-18f8-488c-8da3-39956117922a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d716e2bf-049f-4edc-8091-8822bebcab1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_b6c8105c-33e8-4eb7-b55d-43a4e1260058" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_b6c8105c-33e8-4eb7-b55d-43a4e1260058" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_762a4e64-8dc4-42a1-ab43-b70423952e2b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_762a4e64-8dc4-42a1-ab43-b70423952e2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_179c7164-5611-4933-af4c-e3bb8d43043d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_179c7164-5611-4933-af4c-e3bb8d43043d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_17455841-688b-46fc-a1e7-e5c6dc292c4a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_17455841-688b-46fc-a1e7-e5c6dc292c4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_a65ff12e-d14a-4134-8d3e-9c308583b11c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_fe463760-b926-4edc-8535-d47cbce3772a" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_a65ff12e-d14a-4134-8d3e-9c308583b11c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_2b8ed408-9d87-41b6-8a02-740b5c7bbcd6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_a65ff12e-d14a-4134-8d3e-9c308583b11c" xlink:to="loc_us-gaap_InterestPaidNet_2b8ed408-9d87-41b6-8a02-740b5c7bbcd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_7995045f-3c27-46d8-8659-8e6e89641763" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_a65ff12e-d14a-4134-8d3e-9c308583b11c" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_7995045f-3c27-46d8-8659-8e6e89641763" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_d200fa09-d0f9-4b85-bc5a-57f047e321ae" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_a65ff12e-d14a-4134-8d3e-9c308583b11c" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_d200fa09-d0f9-4b85-bc5a-57f047e321ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_a9859011-81bd-4b12-8975-52c202e957a2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_a9859011-81bd-4b12-8975-52c202e957a2" xlink:to="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_0e7296b8-c48e-4a19-b41d-51cf93a86623" xlink:to="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_eac77037-06fe-471b-a3c8-237a9e173da7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_CommonStockMember_eac77037-06fe-471b-a3c8-237a9e173da7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_e9de4881-78e9-469f-8555-99c9f4880f6f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_e9de4881-78e9-469f-8555-99c9f4880f6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_2eac2120-c08f-4f56-b4da-fba7dd346366" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_RetainedEarningsMember_2eac2120-c08f-4f56-b4da-fba7dd346366" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_7e13e009-a902-4ae6-bbf2-00a1119f6d69" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_TreasuryStockCommonMember_7e13e009-a902-4ae6-bbf2-00a1119f6d69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_9b8e5c61-05d9-43de-9494-0e0941367f65" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_9b8e5c61-05d9-43de-9494-0e0941367f65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestMember_38cac935-1d95-4729-b8ee-b325c8be2de0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2eb22ca9-2d17-413a-84ee-f1bb5e6e714e" xlink:to="loc_us-gaap_NoncontrollingInterestMember_38cac935-1d95-4729-b8ee-b325c8be2de0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_b0632d81-60aa-4a90-8c9a-575596cbbc74" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_b6c9f924-a1af-4253-940b-43ac0a2e5eba" xlink:to="loc_us-gaap_StatementLineItems_b0632d81-60aa-4a90-8c9a-575596cbbc74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_b0632d81-60aa-4a90-8c9a-575596cbbc74" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3a6837e8-1c0c-4988-ae3d-c07f600c5f5b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3a6837e8-1c0c-4988-ae3d-c07f600c5f5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_ca93a151-0cb3-4da0-8f4a-8039dc78fd5f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_ProfitLoss_ca93a151-0cb3-4da0-8f4a-8039dc78fd5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_23d0524d-543e-4e2b-8246-ede042097118" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:to="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_23d0524d-543e-4e2b-8246-ede042097118" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_6d50bfa9-5495-4306-a836-0f95e818d418" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_6d50bfa9-5495-4306-a836-0f95e818d418" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_9034f923-5b07-499a-ad11-03c3dcc358cc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_435f235d-838c-47e0-aeb2-1039343b0666" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_9034f923-5b07-499a-ad11-03c3dcc358cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_edb73f81-18a1-4410-9605-36f1f5ad704a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_edb73f81-18a1-4410-9605-36f1f5ad704a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_43d16d37-66f6-4672-8121-9b2db6780108" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_43d16d37-66f6-4672-8121-9b2db6780108" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_291cdd39-d338-4cf4-983f-eea2d3435542" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_291cdd39-d338-4cf4-983f-eea2d3435542" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_625dbfeb-dba5-48d8-8a8e-9cfe996314b1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_625dbfeb-dba5-48d8-8a8e-9cfe996314b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b8d55833-5b37-4e83-ad41-980901cfeb01" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_243abe32-cfb6-499f-b77b-48b036138bb3" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b8d55833-5b37-4e83-ad41-980901cfeb01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical" xlink:type="simple" xlink:href="fstr-20250930.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_04bd45e3-af41-47c1-827e-479a0d712e81" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_9c7ca9eb-a9a6-4bdd-b23e-b44e9a128366" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_04bd45e3-af41-47c1-827e-479a0d712e81" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_9c7ca9eb-a9a6-4bdd-b23e-b44e9a128366" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_a4656f6d-328f-4ceb-ab94-e1bfc42f46a1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_04bd45e3-af41-47c1-827e-479a0d712e81" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_a4656f6d-328f-4ceb-ab94-e1bfc42f46a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BasisofPresentation" xlink:type="simple" xlink:href="fstr-20250930.xsd#BasisofPresentation"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BasisofPresentation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9a6c93b6-0677-454b-86b7-ea66a49d1b99" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_9fa8de80-7116-44ad-952e-d4f61e492976" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9a6c93b6-0677-454b-86b7-ea66a49d1b99" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_9fa8de80-7116-44ad-952e-d4f61e492976" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegments" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegments"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_9daee41f-2c71-44e6-98a0-0a2ddbcebf97" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_9d73be2f-cd9c-481b-ab61-f82464c73d97" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_9daee41f-2c71-44e6-98a0-0a2ddbcebf97" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_9d73be2f-cd9c-481b-ab61-f82464c73d97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/Revenue" xlink:type="simple" xlink:href="fstr-20250930.xsd#Revenue"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/Revenue" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4b1cdac7-7fc1-4e06-9c0d-1f2a017bb55e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_046e2727-0206-494b-bfa9-33b26b40077f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4b1cdac7-7fc1-4e06-9c0d-1f2a017bb55e" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_046e2727-0206-494b-bfa9-33b26b40077f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets" xlink:type="simple" xlink:href="fstr-20250930.xsd#GoodwillandOtherIntangibleAssets"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_65f9c214-04fe-4710-a52a-dea819664cc7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_875cdbc4-29d4-4c56-a2d0-db1e218f4dab" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_65f9c214-04fe-4710-a52a-dea819664cc7" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_875cdbc4-29d4-4c56-a2d0-db1e218f4dab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/AccountsReceivable" xlink:type="simple" xlink:href="fstr-20250930.xsd#AccountsReceivable"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/AccountsReceivable" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_796a29db-696c-42b8-8049-5d417dd27c3f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_29401ddc-e741-4270-b181-15daa7c466a1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_796a29db-696c-42b8-8049-5d417dd27c3f" xlink:to="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_29401ddc-e741-4270-b181-15daa7c466a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/Inventory" xlink:type="simple" xlink:href="fstr-20250930.xsd#Inventory"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/Inventory" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_29218463-9de0-4c95-abe2-d848f41549e4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_3418eb26-4e54-4bd7-929b-c46719bc72cf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_29218463-9de0-4c95-abe2-d848f41549e4" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_3418eb26-4e54-4bd7-929b-c46719bc72cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMatters" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMatters"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMatters" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_9cdfd816-6644-4d6b-9170-a167091a355d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_b9792b21-f895-49b5-9d3a-64751773a36b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_9cdfd816-6644-4d6b-9170-a167091a355d" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_b9792b21-f895-49b5-9d3a-64751773a36b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/EarningsPerCommonShare" xlink:type="simple" xlink:href="fstr-20250930.xsd#EarningsPerCommonShare"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/EarningsPerCommonShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_d6e845d8-12c1-4add-90d7-7703a768e26e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_c0898b01-9f29-4d5d-bdcc-16223dbd8b35" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_d6e845d8-12c1-4add-90d7-7703a768e26e" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_c0898b01-9f29-4d5d-bdcc-16223dbd8b35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/IncomeTaxes" xlink:type="simple" xlink:href="fstr-20250930.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_47ab5a2a-5f57-4e99-b5b5-e17a7146b18a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_f6832885-3c47-40a3-a46f-a5c8c7ed6531" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_47ab5a2a-5f57-4e99-b5b5-e17a7146b18a" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_f6832885-3c47-40a3-a46f-a5c8c7ed6531" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensation" xlink:type="simple" xlink:href="fstr-20250930.xsd#StockBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_f8faae80-3a32-4544-9baa-b94e26939cd1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_7d969b99-f40c-441a-a23e-26b4cc083999" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_f8faae80-3a32-4544-9baa-b94e26939cd1" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_7d969b99-f40c-441a-a23e-26b4cc083999" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurements" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurements"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_52e3ab59-ab40-4b80-960a-b56f35ddb12b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_3cd27e6d-30f3-402b-872d-68549935d5fb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_52e3ab59-ab40-4b80-960a-b56f35ddb12b" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_3cd27e6d-30f3-402b-872d-68549935d5fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlans" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlans"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RetirementPlans" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_21a22a84-f65c-4aa7-8fa8-8fd04b117180" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_fbc20bde-8c08-4008-b449-ae5291f2310f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_21a22a84-f65c-4aa7-8fa8-8fd04b117180" xlink:to="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_fbc20bde-8c08-4008-b449-ae5291f2310f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilities" xlink:type="simple" xlink:href="fstr-20250930.xsd#CommitmentsandContingentLiabilities"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilities" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_a29118cc-e45a-4fe8-88fb-10ed0a30dec4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_8f55fafb-822e-4ba6-9ed2-78cb591d3f2e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_a29118cc-e45a-4fe8-88fb-10ed0a30dec4" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_8f55fafb-822e-4ba6-9ed2-78cb591d3f2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BasisofPresentationPolicies" xlink:type="simple" xlink:href="fstr-20250930.xsd#BasisofPresentationPolicies"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BasisofPresentationPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_5608e230-b62f-4bed-b584-06faa37fc330" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_348dc62b-3a41-45cc-8758-c56255a35f30" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_5608e230-b62f-4bed-b584-06faa37fc330" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_348dc62b-3a41-45cc-8758-c56255a35f30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_f68733d7-59e7-4542-8231-642863de7465" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_5608e230-b62f-4bed-b584-06faa37fc330" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_f68733d7-59e7-4542-8231-642863de7465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_3ec43b97-f160-4649-9904-4004dd7382db" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_4bd58abe-3e64-40d3-8073-a04465dc9d79" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_3ec43b97-f160-4649-9904-4004dd7382db" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_4bd58abe-3e64-40d3-8073-a04465dc9d79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_ff746a29-e862-44ec-a86c-531fa02be100" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_3ec43b97-f160-4649-9904-4004dd7382db" xlink:to="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_ff746a29-e862-44ec-a86c-531fa02be100" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5ef4cd91-6b41-46ac-8a60-889f2f252cac" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_6ee4fbf2-a518-4847-b1a9-6f7b38058776" xlink:href="fstr-20250930.xsd#fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5ef4cd91-6b41-46ac-8a60-889f2f252cac" xlink:to="loc_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_6ee4fbf2-a518-4847-b1a9-6f7b38058776" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_b3e6def8-28f3-4c5a-9208-03610dfa4ea9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5ef4cd91-6b41-46ac-8a60-889f2f252cac" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_b3e6def8-28f3-4c5a-9208-03610dfa4ea9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_f8b718e3-45df-40e7-861f-c4f58e07d6f8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5ef4cd91-6b41-46ac-8a60-889f2f252cac" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_f8b718e3-45df-40e7-861f-c4f58e07d6f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#GoodwillandOtherIntangibleAssetsTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_82d3adfc-8d5f-4141-9aad-ffa66bb94858" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_8378e8c4-5da3-4300-b37b-e2528abb2d71" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_82d3adfc-8d5f-4141-9aad-ffa66bb94858" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_8378e8c4-5da3-4300-b37b-e2528abb2d71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_52b23fcc-49d3-4144-8210-6e313567cbde" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_82d3adfc-8d5f-4141-9aad-ffa66bb94858" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_52b23fcc-49d3-4144-8210-6e313567cbde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/AccountsReceivableTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#AccountsReceivableTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/AccountsReceivableTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_224563ba-5c21-4ce0-b9cd-81b553103792" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_c50adf0d-e190-497e-b222-2daee2799508" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_224563ba-5c21-4ce0-b9cd-81b553103792" xlink:to="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_c50adf0d-e190-497e-b222-2daee2799508" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/InventoryTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#InventoryTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/InventoryTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_558c76c1-0bd1-4464-96b1-2f9ccd5db7d2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_8db049a7-09ab-4261-83ee-eb3bdf59e874" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_558c76c1-0bd1-4464-96b1-2f9ccd5db7d2" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_8db049a7-09ab-4261-83ee-eb3bdf59e874" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMattersTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_b1665d8d-bdca-4c38-b898-df414e052b97" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_91539bc5-bc29-44d9-82ae-ae609c0b95c6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_b1665d8d-bdca-4c38-b898-df414e052b97" xlink:to="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_91539bc5-bc29-44d9-82ae-ae609c0b95c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/EarningsPerCommonShareTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#EarningsPerCommonShareTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/EarningsPerCommonShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_fd79ff39-83fe-4b6a-9973-4288483fb38c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_f01bcf13-faaf-4c80-a99f-d34a6ff5ed88" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_fd79ff39-83fe-4b6a-9973-4288483fb38c" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_f01bcf13-faaf-4c80-a99f-d34a6ff5ed88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#StockBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_c6e1afaa-f01f-402a-ab96-04130dfb21b6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_27be6cfb-6c1e-4143-830a-b6d8d4322d31" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_c6e1afaa-f01f-402a-ab96-04130dfb21b6" xlink:to="loc_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_27be6cfb-6c1e-4143-830a-b6d8d4322d31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurementsTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_a6c89d93-5bff-443a-a51b-04dcf18dc1f8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_a3a40cb1-fbd8-4b65-a1ec-2fe3289c70ee" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_a6c89d93-5bff-443a-a51b-04dcf18dc1f8" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_a3a40cb1-fbd8-4b65-a1ec-2fe3289c70ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansTables" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RetirementPlansTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_6bc447f3-f0e4-4b79-ba7a-4e308de8eebd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_8334f009-6387-4a27-8e48-e1188116e589" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_6bc447f3-f0e4-4b79-ba7a-4e308de8eebd" xlink:to="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_8334f009-6387-4a27-8e48-e1188116e589" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_bc19e107-2ffb-48b6-9f19-cb2c5a1e169c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_6bc447f3-f0e4-4b79-ba7a-4e308de8eebd" xlink:to="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_bc19e107-2ffb-48b6-9f19-cb2c5a1e169c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_2d683eba-a37d-46c9-8f91-26eb283a6419" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_2d683eba-a37d-46c9-8f91-26eb283a6419" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_90c5bd39-8fef-4baf-97ef-684b219f6332" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_f691f633-f029-4047-b310-0c3379f55d82" xlink:to="loc_srt_ConsolidationItemsDomain_90c5bd39-8fef-4baf-97ef-684b219f6332" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateAndReconcilingItemsMember_2174307a-120f-496b-b808-eb522b2926bc" xlink:href="fstr-20250930.xsd#fstr_CorporateAndReconcilingItemsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_90c5bd39-8fef-4baf-97ef-684b219f6332" xlink:to="loc_fstr_CorporateAndReconcilingItemsMember_2174307a-120f-496b-b808-eb522b2926bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_a480b2c2-aa34-45c0-9c27-0ac38459a06e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4469f7e1-1964-40b4-a6e0-ca3f0ba93599" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_a480b2c2-aa34-45c0-9c27-0ac38459a06e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDiscontinuedOperationsMember_848c1444-13f4-494a-b21a-608e049d8aed" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDiscontinuedOperationsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_a480b2c2-aa34-45c0-9c27-0ac38459a06e" xlink:to="loc_us-gaap_SegmentDiscontinuedOperationsMember_848c1444-13f4-494a-b21a-608e049d8aed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e9dde13d-d98b-4795-b54b-c8163382c2e6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_95883581-8361-4bc2-afb9-338bc808961a" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e9dde13d-d98b-4795-b54b-c8163382c2e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_BridgeGridDeckProductMember_3d59dc1c-cab1-4791-8b63-dfaa63857b1b" xlink:href="fstr-20250930.xsd#fstr_BridgeGridDeckProductMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_e9dde13d-d98b-4795-b54b-c8163382c2e6" xlink:to="loc_fstr_BridgeGridDeckProductMember_3d59dc1c-cab1-4791-8b63-dfaa63857b1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3201e2fd-b2a8-4e7e-b0cd-beed396bc6e1" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_71292729-7d9e-4d0b-a17e-5e62a395fe78" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:to="loc_us-gaap_CostOfSalesMember_71292729-7d9e-4d0b-a17e-5e62a395fe78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_305afe2c-d1ee-4ae3-a75f-d6c3975832b3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_4961c732-c0c1-4318-9b82-a217bfece87c" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_305afe2c-d1ee-4ae3-a75f-d6c3975832b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_dd541563-0e7c-43a7-a38c-f74baf7cfd64" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_045043ba-d790-4354-b24d-10961ca0c36e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_dd541563-0e7c-43a7-a38c-f74baf7cfd64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SkratchEnterprisesLtdMember_f9930650-26ea-4f41-8c1d-1a1102de0a3a" xlink:href="fstr-20250930.xsd#fstr_SkratchEnterprisesLtdMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_dd541563-0e7c-43a7-a38c-f74baf7cfd64" xlink:to="loc_fstr_SkratchEnterprisesLtdMember_f9930650-26ea-4f41-8c1d-1a1102de0a3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_528662e0-0100-40a7-bac8-024f26f47d18" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_28f087e1-1f73-4509-a2c4-1026cffbc791" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_528662e0-0100-40a7-bac8-024f26f47d18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_August2024RestructuringMember_f639ca3b-6a53-4d91-bc64-0846739760de" xlink:href="fstr-20250930.xsd#fstr_August2024RestructuringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_528662e0-0100-40a7-bac8-024f26f47d18" xlink:to="loc_fstr_August2024RestructuringMember_f639ca3b-6a53-4d91-bc64-0846739760de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_d517ed65-b5e5-4f13-9430-e35ed43ea8fc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanAxis_e0be4007-ed7f-4684-9879-5fe9e3c66e7d" xlink:to="loc_us-gaap_RestructuringPlanDomain_d517ed65-b5e5-4f13-9430-e35ed43ea8fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AutomationAndMaterialsHandlingMember_a18397d3-2b11-46ea-9aa1-ab4b86525bbe" xlink:href="fstr-20250930.xsd#fstr_AutomationAndMaterialsHandlingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanDomain_d517ed65-b5e5-4f13-9430-e35ed43ea8fc" xlink:to="loc_fstr_AutomationAndMaterialsHandlingMember_a18397d3-2b11-46ea-9aa1-ab4b86525bbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_04f92bff-2a02-4739-b737-86e4dd00e8da" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_dbeb7503-230d-4db9-ace4-505a1602efa7" xlink:to="loc_srt_ProductsAndServicesDomain_04f92bff-2a02-4739-b737-86e4dd00e8da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AutomationAndMaterialsHandlingLineMember_cead7592-4910-427a-a5d2-9ae261eb2ee1" xlink:href="fstr-20250930.xsd#fstr_AutomationAndMaterialsHandlingLineMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_04f92bff-2a02-4739-b737-86e4dd00e8da" xlink:to="loc_fstr_AutomationAndMaterialsHandlingLineMember_cead7592-4910-427a-a5d2-9ae261eb2ee1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_25aa1545-f79b-48aa-8406-f74dcde123d5" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_f4468c65-75e2-44bb-b8c3-29b0531baf1c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_NumberOfOperatingSegments_f4468c65-75e2-44bb-b8c3-29b0531baf1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_07aae024-6052-44ee-ab1c-01ce0e0e7858" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_NumberOfReportableSegments_07aae024-6052-44ee-ab1c-01ce0e0e7858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_cbb25239-ec66-409c-a713-e591c8bffa8c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_cbb25239-ec66-409c-a713-e591c8bffa8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_8751d4a4-e6ae-4ebc-8c7e-c1edbdf15ba7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_8751d4a4-e6ae-4ebc-8c7e-c1edbdf15ba7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_717feb1d-9e1f-4249-b78b-f9c7144bed41" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_717feb1d-9e1f-4249-b78b-f9c7144bed41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_ca741666-798a-4ceb-be9e-b9c3ad228060" xlink:href="fstr-20250930.xsd#fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm_ca741666-798a-4ceb-be9e-b9c3ad228060" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_079ccf9b-c3c1-49f9-b74f-be5beeb315bb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_079ccf9b-c3c1-49f9-b74f-be5beeb315bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_09feff5c-74b1-424e-b17d-cfdc984beb9a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_09feff5c-74b1-424e-b17d-cfdc984beb9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_1d7520a4-6a1c-4858-a409-8bdee6869aab" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessExitCosts1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_BusinessExitCosts1_1d7520a4-6a1c-4858-a409-8bdee6869aab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InventoryAndFixedAssetWriteDown_594907d3-acec-4b2f-ae61-58b83a195125" xlink:href="fstr-20250930.xsd#fstr_InventoryAndFixedAssetWriteDown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_InventoryAndFixedAssetWriteDown_594907d3-acec-4b2f-ae61-58b83a195125" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PersonnelExpenses_240446b5-769a-4478-8c02-3ecf4ba40c0b" xlink:href="fstr-20250930.xsd#fstr_PersonnelExpenses"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_PersonnelExpenses_240446b5-769a-4478-8c02-3ecf4ba40c0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherExitCosts_4f13eec9-5541-4640-9bc4-84060e358c82" xlink:href="fstr-20250930.xsd#fstr_OtherExitCosts"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_fstr_OtherExitCosts_4f13eec9-5541-4640-9bc4-84060e358c82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_89fa5caf-bc3e-407f-af10-0e79537a5ce6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2da89226-ad2e-4650-8c27-f9fcdc6d25d7" xlink:to="loc_us-gaap_RestructuringReserve_89fa5caf-bc3e-407f-af10-0e79537a5ce6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_55dcae9b-db82-48df-8286-c1320eaf9a43" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_55dcae9b-db82-48df-8286-c1320eaf9a43" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:to="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_fa56dc77-1b6d-4693-8a69-70b1236a2adb" xlink:to="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_f286ce41-45ad-4b1f-90ac-115615b3fbfb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:to="loc_us-gaap_OperatingSegmentsMember_f286ce41-45ad-4b1f-90ac-115615b3fbfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateAndReconcilingItemsMember_ff9f890e-8350-47a3-82ce-fdf2a89fdcb4" xlink:href="fstr-20250930.xsd#fstr_CorporateAndReconcilingItemsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_40f75acd-7f31-4610-82c3-85eeafde0d3d" xlink:to="loc_fstr_CorporateAndReconcilingItemsMember_ff9f890e-8350-47a3-82ce-fdf2a89fdcb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_e6426ec8-2d55-4eb0-bbde-e4c8103ab6c0" xlink:to="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_26a4e999-329e-4dce-8e6c-f600b05d185e" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_26a4e999-329e-4dce-8e6c-f600b05d185e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_4c59c929-ded7-44bd-8965-7bf7d1239a87" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_cee00e70-0a9f-475e-b81f-dc2b528da0ad" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_4c59c929-ded7-44bd-8965-7bf7d1239a87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_e45b06de-171f-4481-87c5-d6a19d56205a" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3497ffb8-d329-4658-b35c-1f31ee6edfb9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3497ffb8-d329-4658-b35c-1f31ee6edfb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_2e652e03-04c4-43ee-ae24-f98dd9862849" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_CostOfRevenue_2e652e03-04c4-43ee-ae24-f98dd9862849" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LaborAndRelatedExpense_95a515d4-ad7e-4f8b-b355-7a51ce187dc7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LaborAndRelatedExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_LaborAndRelatedExpense_95a515d4-ad7e-4f8b-b355-7a51ce187dc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PurchasedServicesExpense_6a7029d4-ee23-4e1a-ab7b-c6f17a486ecf" xlink:href="fstr-20250930.xsd#fstr_PurchasedServicesExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_fstr_PurchasedServicesExpense_6a7029d4-ee23-4e1a-ab7b-c6f17a486ecf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_8dcfe48f-6d95-4ef0-b57e-58368bacb385" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_8dcfe48f-6d95-4ef0-b57e-58368bacb385" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_8d5e61ea-c8d1-4221-bb33-aa21ef7c8229" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_969a9128-930a-4f2b-8919-f8a14652a619" xlink:to="loc_us-gaap_AdjustmentForAmortization_8d5e61ea-c8d1-4221-bb33-aa21ef7c8229" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_29ae5632-50d3-474f-a167-d9f1b4601f37" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_OperatingIncomeLoss_29ae5632-50d3-474f-a167-d9f1b4601f37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_f8c7ad45-021c-4361-b7f5-12a73ea5fc9c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_f8c7ad45-021c-4361-b7f5-12a73ea5fc9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_9a85f897-bd17-44dd-a327-b19918412d9a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_9a85f897-bd17-44dd-a327-b19918412d9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_f8ab80c2-2e9d-45ad-9266-b9c9d1e8317a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_f8ab80c2-2e9d-45ad-9266-b9c9d1e8317a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PublicCompanyCosts_eb488282-6003-4e30-adb2-2474938b313f" xlink:href="fstr-20250930.xsd#fstr_PublicCompanyCosts"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_PublicCompanyCosts_eb488282-6003-4e30-adb2-2474938b313f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExecutiveManagementCosts_97040b7e-d154-489a-99a1-e1d13e991ed1" xlink:href="fstr-20250930.xsd#fstr_CorporateExecutiveManagementCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_CorporateExecutiveManagementCosts_97040b7e-d154-489a-99a1-e1d13e991ed1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateManagementStockBasedCompensation_9ad528cd-68c6-49ad-aab0-d421c4fee5fa" xlink:href="fstr-20250930.xsd#fstr_CorporateManagementStockBasedCompensation"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_CorporateManagementStockBasedCompensation_9ad528cd-68c6-49ad-aab0-d421c4fee5fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherCorporateCharges_2f6e9e13-4ab4-4a55-8a01-d7f55454b7bf" xlink:href="fstr-20250930.xsd#fstr_OtherCorporateCharges"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_fstr_OtherCorporateCharges_2f6e9e13-4ab4-4a55-8a01-d7f55454b7bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6be8daa9-9ec0-4515-b2a6-d798c7d3c86f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_787e1671-c819-48e5-8c2e-7a8012ba9a1b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6be8daa9-9ec0-4515-b2a6-d798c7d3c86f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsScheduleofAssetReportableSegmentDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_45a1a549-d064-414c-9cd3-ff4359ce4083" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_45a1a549-d064-414c-9cd3-ff4359ce4083" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_d8d137dd-b86f-4679-ae30-421d259e2f7d" xlink:to="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_a7674607-6616-4296-9a3b-4b3df5934c8a" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_a7674607-6616-4296-9a3b-4b3df5934c8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_db01ad1b-7f68-4679-91c8-5ad56c734eb4" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_501dfb42-9a3a-4bba-9512-c3c1d9d42062" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_db01ad1b-7f68-4679-91c8-5ad56c734eb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:to="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_03a18a02-1979-4b86-9a26-9c0794745081" xlink:to="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_5c7d2f65-9b09-4b5d-9f3a-92e20bcb8e4b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:to="loc_us-gaap_OperatingSegmentsMember_5c7d2f65-9b09-4b5d-9f3a-92e20bcb8e4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_00f1a8c1-582f-41cb-b959-28b4cc4d4525" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_7328447a-5b30-4c81-a45b-b17f30862060" xlink:to="loc_us-gaap_CorporateNonSegmentMember_00f1a8c1-582f-41cb-b959-28b4cc4d4525" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3c7ed5d1-f1cb-4877-a33d-2e9a9cf71721" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_95cd1782-51e8-47e1-9536-a872e5008430" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_95cd1782-51e8-47e1-9536-a872e5008430" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentExpenditureAdditionToLongLivedAssets_d67cfa7e-8610-4643-a029-125e171d8cc1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_SegmentExpenditureAdditionToLongLivedAssets_d67cfa7e-8610-4643-a029-125e171d8cc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_9c5bec14-2345-4b41-99e3-5bdf69d9a30e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a10ff1f-3a21-486c-8eeb-4601a2f01ace" xlink:to="loc_us-gaap_Assets_9c5bec14-2345-4b41-99e3-5bdf69d9a30e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_4c4239bb-cca8-4b74-beba-f6eded289305" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_1a5840e2-7a5e-4d59-ada9-e062711d7a32" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_4c4239bb-cca8-4b74-beba-f6eded289305" xlink:to="loc_us-gaap_RestructuringReserveRollForward_1a5840e2-7a5e-4d59-ada9-e062711d7a32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_8a642ad0-1c49-41de-8e6a-fa7f0aebfa38" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_1a5840e2-7a5e-4d59-ada9-e062711d7a32" xlink:to="loc_us-gaap_RestructuringReserve_8a642ad0-1c49-41de-8e6a-fa7f0aebfa38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_52a4d9fd-ed25-44de-a499-576aabe18f41" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_1a5840e2-7a5e-4d59-ada9-e062711d7a32" xlink:to="loc_us-gaap_RestructuringCharges_52a4d9fd-ed25-44de-a499-576aabe18f41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_aefcd90f-9b4f-40ff-9139-2569538fd50e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_1a5840e2-7a5e-4d59-ada9-e062711d7a32" xlink:to="loc_us-gaap_PaymentsForRestructuring_aefcd90f-9b4f-40ff-9139-2569538fd50e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_34a6d870-2420-49aa-bddd-74a5211c3eb9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_1a5840e2-7a5e-4d59-ada9-e062711d7a32" xlink:to="loc_us-gaap_RestructuringReserve_34a6d870-2420-49aa-bddd-74a5211c3eb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofSalesbyMajorProductLineDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a133426b-33b7-4f0e-b04b-048f8538e969" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a133426b-33b7-4f0e-b04b-048f8538e969" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:to="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_f07d0c93-623f-4187-8d87-efcf2dc5b5ee" xlink:to="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailProductsMember_8477c942-5591-4664-96bc-f5fe3b0d593f" xlink:href="fstr-20250930.xsd#fstr_RailProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:to="loc_fstr_RailProductsMember_8477c942-5591-4664-96bc-f5fe3b0d593f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_GlobalFrictionManagementMember_1d75ecc9-ce9c-4720-924b-04e312500f70" xlink:href="fstr-20250930.xsd#fstr_GlobalFrictionManagementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:to="loc_fstr_GlobalFrictionManagementMember_1d75ecc9-ce9c-4720-924b-04e312500f70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesProductsMember_24b59440-31ad-4856-b775-78ded011c5d7" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesProductsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f45aa6ea-3b42-4542-b924-ade47c2c0838" xlink:to="loc_fstr_RailTechnologiesProductsMember_24b59440-31ad-4856-b775-78ded011c5d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_a4bb1fe6-7f17-46f8-94f7-0cc692778212" xlink:to="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_586775a7-29d8-4ea6-9836-644d4d6e5657" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_586775a7-29d8-4ea6-9836-644d4d6e5657" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsSegmentMember_4d1a601c-03f0-4bad-89fe-b7b213a0b026" xlink:href="fstr-20250930.xsd#fstr_PrecastConcreteProductsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_PrecastConcreteProductsSegmentMember_4d1a601c-03f0-4bad-89fe-b7b213a0b026" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsSegmentMember_88d10fb4-086b-4a2d-8d19-a5ecfae503d9" xlink:href="fstr-20250930.xsd#fstr_SteelProductsSegmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_SteelProductsSegmentMember_88d10fb4-086b-4a2d-8d19-a5ecfae503d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_2ba0e6e0-156c-4269-8517-935841d990da" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_62e88b33-a46c-4c1d-9558-9ad73c187fec" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_2ba0e6e0-156c-4269-8517-935841d990da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a71db34e-7f09-40f7-aa1c-578a9cd96085" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b6b6ffa0-7c40-450c-a814-053191d6c71f" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_a71db34e-7f09-40f7-aa1c-578a9cd96085" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_e434edf4-ec53-4296-be3f-977755dcf8c0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a71db34e-7f09-40f7-aa1c-578a9cd96085" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_e434edf4-ec53-4296-be3f-977755dcf8c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofTimingofTransferDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4e472f9c-8403-4fcc-a9aa-9b203b2d7744" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4e472f9c-8403-4fcc-a9aa-9b203b2d7744" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_fcc9a7ea-38f2-4ec5-ac23-8102687eb55a" xlink:to="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_784c116f-4fca-4868-b9f8-6ca4557f8c10" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_784c116f-4fca-4868-b9f8-6ca4557f8c10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_88f04748-588f-4c54-a20d-3a2b2e3f57eb" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_9cbe7dfd-9749-47b2-a890-522e8053722c" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_88f04748-588f-4c54-a20d-3a2b2e3f57eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5f9c304c-9bd4-4195-9824-c19551c10de2" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_b8289aaf-f1d9-4535-9ec9-628da03fe064" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_b8289aaf-f1d9-4535-9ec9-628da03fe064" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_6c8da39b-30cf-4d45-8b73-847201be32b2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_eb97140b-7274-4f9e-8678-f43ec299a833" xlink:to="loc_us-gaap_TransferredOverTimeMember_6c8da39b-30cf-4d45-8b73-847201be32b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_9e9fd6f0-df84-4a4c-ac52-b142d2a40e38" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_b225294d-cef7-4fde-9126-5b05a4ca76db" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_9e9fd6f0-df84-4a4c-ac52-b142d2a40e38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_7681ba53-e218-4b73-aada-3fa7b812c413" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_9e9fd6f0-df84-4a4c-ac52-b142d2a40e38" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_7681ba53-e218-4b73-aada-3fa7b812c413" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_afd8efae-45ed-442e-acf2-92c5978e8861" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_777fbd5d-2689-4e28-94c3-c6536005d499" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_afd8efae-45ed-442e-acf2-92c5978e8861" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_777fbd5d-2689-4e28-94c3-c6536005d499" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofOverTimeSalesDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_437b18c7-5439-4fb9-bcc4-8c43b06ce034" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_437b18c7-5439-4fb9-bcc4-8c43b06ce034" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7c005d79-8dc9-4226-8971-e58db58c3052" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeInputMethodMember_9d57b5ed-1a6f-460e-a5e2-53b350a4440a" xlink:href="fstr-20250930.xsd#fstr_OverTimeInputMethodMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:to="loc_fstr_OverTimeInputMethodMember_9d57b5ed-1a6f-460e-a5e2-53b350a4440a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeOutputMethodMember_50ed5e48-2cdf-42b0-adbe-b8a5e2cd573c" xlink:href="fstr-20250930.xsd#fstr_OverTimeOutputMethodMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_66ca4e07-1d70-4181-861d-71d594cd0797" xlink:to="loc_fstr_OverTimeOutputMethodMember_50ed5e48-2cdf-42b0-adbe-b8a5e2cd573c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_fac957d6-4e92-4cbd-a866-b6f943bf58b8" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesAmount_2a7f1f2f-6452-438d-adb5-0b0e55fe2c60" xlink:href="fstr-20250930.xsd#fstr_OverTimeSalesAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:to="loc_fstr_OverTimeSalesAmount_2a7f1f2f-6452-438d-adb5-0b0e55fe2c60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesPercent_c7d2b3b1-ec29-4f27-8b9d-6622a6844d51" xlink:href="fstr-20250930.xsd#fstr_OverTimeSalesPercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e7511593-c507-41da-86e1-11e103120861" xlink:to="loc_fstr_OverTimeSalesPercent_c7d2b3b1-ec29-4f27-8b9d-6622a6844d51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_9560b436-a5cf-4a6f-b25b-f10e32b79d84" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_9560b436-a5cf-4a6f-b25b-f10e32b79d84" xlink:to="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_ae73b9fe-35b4-4a93-8bf2-805bbd1dfabf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_ae73b9fe-35b4-4a93-8bf2-805bbd1dfabf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled_5dfe6cde-ffe9-47da-8499-79f96384550a" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:to="loc_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled_5dfe6cde-ffe9-47da-8499-79f96384550a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_9e5d17dc-50bf-441f-ab6b-2bd823e0cfc0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_9e5d17dc-50bf-441f-ab6b-2bd823e0cfc0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_1679be03-bbfc-4c27-b909-8eca9ce8f8ff" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:to="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_1679be03-bbfc-4c27-b909-8eca9ce8f8ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_b1969c2a-a63a-4046-b2fb-dbc7616791d8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_380d8c38-c36d-4279-adc0-c3ab3e9cc54f" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_b1969c2a-a63a-4046-b2fb-dbc7616791d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityRollForward_a443d55f-389a-4256-8f22-dc64aa282beb" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerLiabilityRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_9560b436-a5cf-4a6f-b25b-f10e32b79d84" xlink:to="loc_fstr_ContractWithCustomerLiabilityRollForward_a443d55f-389a-4256-8f22-dc64aa282beb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_b4d0b527-0332-4cd9-bb95-968bd03a6814" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_a443d55f-389a-4256-8f22-dc64aa282beb" xlink:to="loc_us-gaap_ContractWithCustomerLiability_b4d0b527-0332-4cd9-bb95-968bd03a6814" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_31126273-ac37-432a-92b3-5ea495cc4f81" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_a443d55f-389a-4256-8f22-dc64aa282beb" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_31126273-ac37-432a-92b3-5ea495cc4f81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_ba76f63d-62b8-42ee-a31f-6a80d7e6ac3c" xlink:href="fstr-20250930.xsd#fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_a443d55f-389a-4256-8f22-dc64aa282beb" xlink:to="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_ba76f63d-62b8-42ee-a31f-6a80d7e6ac3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_18a113d8-cac1-408d-b9a5-33af9a2c0aff" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_a443d55f-389a-4256-8f22-dc64aa282beb" xlink:to="loc_us-gaap_ContractWithCustomerLiability_18a113d8-cac1-408d-b9a5-33af9a2c0aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RevenueRemainingPerformanceObligationDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d1441349-44ab-4cc4-a183-db936614b758" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d1441349-44ab-4cc4-a183-db936614b758" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ef04dcc7-ad2f-4fd6-a25d-ea816e52c7a6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ef04dcc7-ad2f-4fd6-a25d-ea816e52c7a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a83b9443-7d06-46b4-904a-cefe06c0223c" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_19ee49b4-9aba-4a6f-a5ce-d8cb1bc5741f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_19ee49b4-9aba-4a6f-a5ce-d8cb1bc5741f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_7cb94509-fcf8-4af4-b294-8f721f164668" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_7cb94509-fcf8-4af4-b294-8f721f164668" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_2aac6d43-34cf-4df1-80b5-0d646efe3b94" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_04327882-13fc-4256-952a-64cb6f53b59a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_2aac6d43-34cf-4df1-80b5-0d646efe3b94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b0457040-65f8-4508-a98e-abc93743609e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b0457040-65f8-4508-a98e-abc93743609e" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_db40164f-33da-4c2d-9620-c86494fd1e1a" xlink:to="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_9432a41f-d5c7-4cb3-a54d-43d9cba6bf6c" xlink:href="fstr-20250930.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_9432a41f-d5c7-4cb3-a54d-43d9cba6bf6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InfrastructureSolutionsSegmentMember_facfa32f-bc90-48ea-b7cf-ad682c5bbbf9" xlink:href="fstr-20250930.xsd#fstr_InfrastructureSolutionsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_dca16b0c-f10d-4800-a29e-7a52b78657fe" xlink:to="loc_fstr_InfrastructureSolutionsSegmentMember_facfa32f-bc90-48ea-b7cf-ad682c5bbbf9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_122be2c8-03cb-4967-8483-86e4b765e62d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_1997495a-41f2-433c-9a41-a586fa621eb2" xlink:to="loc_us-gaap_GoodwillLineItems_122be2c8-03cb-4967-8483-86e4b765e62d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_122be2c8-03cb-4967-8483-86e4b765e62d" xlink:to="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_a16cc541-cdcc-475d-89a8-5934bbd0b73d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:to="loc_us-gaap_Goodwill_a16cc541-cdcc-475d-89a8-5934bbd0b73d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_066021ae-fd9d-4c5e-80d8-7dca28a0b770" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_066021ae-fd9d-4c5e-80d8-7dca28a0b770" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_ffd155b9-b4cb-4a4c-84f8-e055548e25fc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_45e49527-60ae-4919-9930-17892adb3e34" xlink:to="loc_us-gaap_Goodwill_ffd155b9-b4cb-4a4c-84f8-e055548e25fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_685d49ed-1c7e-408b-bc2b-d155f9b65c64" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_685d49ed-1c7e-408b-bc2b-d155f9b65c64" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:to="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e5fa9c77-86ba-433e-b6ce-9f531405c7cf" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_3581b167-5f56-4c21-be60-20e383a0c68f" xlink:to="loc_srt_RangeMember_e5fa9c77-86ba-433e-b6ce-9f531405c7cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_8f8d7c80-3f67-4b5e-8ee5-27c8b74cf590" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_WeightedAverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_e5fa9c77-86ba-433e-b6ce-9f531405c7cf" xlink:to="loc_srt_WeightedAverageMember_8f8d7c80-3f67-4b5e-8ee5-27c8b74cf590" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_318497a5-b102-4bab-9b43-8fdb0eac32ec" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_31498a1e-fe42-4cad-95be-4f6db3101c2f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PatentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_PatentsMember_31498a1e-fe42-4cad-95be-4f6db3101c2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_dc240093-1d7d-4c1c-a245-4ec54edd0095" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_CustomerRelationshipsMember_dc240093-1d7d-4c1c-a245-4ec54edd0095" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_1f9ce991-ba8e-4898-8198-9bb06ba60f90" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_1f9ce991-ba8e-4898-8198-9bb06ba60f90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_4dac5cb7-67af-4087-a452-6a689fdcf8c4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_4dac5cb7-67af-4087-a452-6a689fdcf8c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffMarketFavorableLeaseMember_2735a44e-6cc4-413d-82f5-02c3e72b785f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OffMarketFavorableLeaseMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_33597d77-7e96-43ac-aece-13f5c250db8f" xlink:to="loc_us-gaap_OffMarketFavorableLeaseMember_2735a44e-6cc4-413d-82f5-02c3e72b785f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c225c774-671d-4636-8e4f-78f5c7ba4dbe" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2920fa3b-5651-414c-8630-e62995891be2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2920fa3b-5651-414c-8630-e62995891be2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a459f873-7d37-4afb-8773-f1bb38252afb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a459f873-7d37-4afb-8773-f1bb38252afb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_b2b08747-29c2-446d-be0b-17c03828bbbe" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_b2b08747-29c2-446d-be0b-17c03828bbbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fb8bc328-5292-45ff-bdc8-ec17103f2649" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_61d7c451-ab66-45cb-9e8d-29bd9bac3b65" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fb8bc328-5292-45ff-bdc8-ec17103f2649" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#AccountsReceivableNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_5139e9ee-aef2-4aae-8cef-767beb56cd01" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_5139e9ee-aef2-4aae-8cef-767beb56cd01" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_b430df75-0ddd-4f5b-8cb8-b4813a28127f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_f026b083-5eee-48ac-acfb-016b48151eb1" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_b430df75-0ddd-4f5b-8cb8-b4813a28127f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_94d4c3e6-7bcd-42df-bdad-8bd75ac207b2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_b430df75-0ddd-4f5b-8cb8-b4813a28127f" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_94d4c3e6-7bcd-42df-bdad-8bd75ac207b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_1af9f0fd-fc75-411e-b580-b208371afc51" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_51d91751-f170-4079-b7f1-819f44b5e85b" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_1af9f0fd-fc75-411e-b580-b208371afc51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_7bcf7f75-6997-4822-b62e-2b97bcf87056" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_1af9f0fd-fc75-411e-b580-b208371afc51" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_7bcf7f75-6997-4822-b62e-2b97bcf87056" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#AccountsReceivableAllowanceforCreditLossesDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_afb4dc47-445c-454e-b3ed-0e1f8e627ec7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_afb4dc47-445c-454e-b3ed-0e1f8e627ec7" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_d1bce202-6e21-4423-bcd3-87fe394ea19a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_d1bce202-6e21-4423-bcd3-87fe394ea19a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_1ca61cf3-26bb-4210-92ff-847b7ef4a1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_1ca61cf3-26bb-4210-92ff-847b7ef4a1eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_90970355-63d4-479f-ab2d-0e3fc9d7e50e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_90970355-63d4-479f-ab2d-0e3fc9d7e50e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_1dba5bb5-c50c-4828-a413-c2026ae26815" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_1dba5bb5-c50c-4828-a413-c2026ae26815" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_30ff26f9-44ef-458a-bbdd-4d3a360bd461" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_369c4c41-5094-421d-8cac-038bac0629d4" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_30ff26f9-44ef-458a-bbdd-4d3a360bd461" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/InventoryDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#InventoryDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/InventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_e4903662-e3f9-431d-87ed-d699295ffa5e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_88a37b26-f22f-45e5-94d4-eb59e907c938" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e4903662-e3f9-431d-87ed-d699295ffa5e" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_88a37b26-f22f-45e5-94d4-eb59e907c938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_64e01df2-89f8-4160-82d6-3b3ff4c74142" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e4903662-e3f9-431d-87ed-d699295ffa5e" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_64e01df2-89f8-4160-82d6-3b3ff4c74142" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_1533a427-3275-4e96-91f5-d950076dbbd6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e4903662-e3f9-431d-87ed-d699295ffa5e" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_1533a427-3275-4e96-91f5-d950076dbbd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_fc8bfca3-ab97-4de9-b1b2-690ec7d8aed6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e4903662-e3f9-431d-87ed-d699295ffa5e" xlink:to="loc_us-gaap_InventoryNet_fc8bfca3-ab97-4de9-b1b2-690ec7d8aed6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_92fc37f4-806c-42c0-90c6-a7bd0f48bab3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_d8b8a9f1-703f-4ec9-846f-1a6c21bafdfc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_92fc37f4-806c-42c0-90c6-a7bd0f48bab3" xlink:to="loc_us-gaap_LineOfCredit_d8b8a9f1-703f-4ec9-846f-1a6c21bafdfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_918f394a-3d10-4e35-9d87-7d1ff05195d4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_92fc37f4-806c-42c0-90c6-a7bd0f48bab3" xlink:to="loc_us-gaap_FinanceLeaseLiability_918f394a-3d10-4e35-9d87-7d1ff05195d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtAndCapitalLeaseObligations_1f8a6318-9c86-40dd-b774-4b14d6563dd8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_92fc37f4-806c-42c0-90c6-a7bd0f48bab3" xlink:to="loc_us-gaap_DebtAndCapitalLeaseObligations_1f8a6318-9c86-40dd-b774-4b14d6563dd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_82821005-e25a-49cd-9db0-ba582213a1bc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_92fc37f4-806c-42c0-90c6-a7bd0f48bab3" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_82821005-e25a-49cd-9db0-ba582213a1bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_a5949745-527d-497b-8437-fd4c5a203b84" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_92fc37f4-806c-42c0-90c6-a7bd0f48bab3" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_a5949745-527d-497b-8437-fd4c5a203b84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#LongTermDebtandRelatedMattersNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_9f708953-42c9-49fa-b820-82c554661db6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_9f708953-42c9-49fa-b820-82c554661db6" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_4d3ec924-75ce-46e0-b560-9f2c20845e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_a33b71b5-0961-4321-8162-d848c55d13e2" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_4d3ec924-75ce-46e0-b560-9f2c20845e1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_9f79da04-7102-4296-946e-3a8a27cde249" xlink:href="fstr-20250930.xsd#fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_4d3ec924-75ce-46e0-b560-9f2c20845e1a" xlink:to="loc_fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember_9f79da04-7102-4296-946e-3a8a27cde249" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_50c7110a-65bf-489a-8f0e-fdc405a4a882" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_7f2b7460-6d99-4f40-ab81-55ef88c16081" xlink:to="loc_us-gaap_CreditFacilityDomain_50c7110a-65bf-489a-8f0e-fdc405a4a882" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_50c7110a-65bf-489a-8f0e-fdc405a4a882" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_0a48587d-e1f3-43e4-8932-605a5fe949d7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LetterOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:to="loc_us-gaap_LetterOfCreditMember_0a48587d-e1f3-43e4-8932-605a5fe949d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SwingLoanMember_aae43d79-6453-48f2-9890-356d2aaa9109" xlink:href="fstr-20250930.xsd#fstr_SwingLoanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:to="loc_fstr_SwingLoanMember_aae43d79-6453-48f2-9890-356d2aaa9109" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_IncrementalLoansMember_4b7fea51-dc67-492d-9469-ea353759c0b6" xlink:href="fstr-20250930.xsd#fstr_IncrementalLoansMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember_710a950d-ef00-4e34-be2d-f428c2750863" xlink:to="loc_fstr_IncrementalLoansMember_4b7fea51-dc67-492d-9469-ea353759c0b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_a09e8e73-9928-4327-9980-ea7f82f5631b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_6e669dfd-f155-4e82-ae23-2c2613eaaccf" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_a09e8e73-9928-4327-9980-ea7f82f5631b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FifthAmendedAndRestatedCreditAgreementMember_fd37c597-2bf1-4bbe-96ef-c4ce934a0d1e" xlink:href="fstr-20250930.xsd#fstr_FifthAmendedAndRestatedCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_a09e8e73-9928-4327-9980-ea7f82f5631b" xlink:to="loc_fstr_FifthAmendedAndRestatedCreditAgreementMember_fd37c597-2bf1-4bbe-96ef-c4ce934a0d1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_7fa6c388-33bc-4804-aeee-c860c48ac615" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_21a41923-59d7-40a0-a3e5-8d05d798b55e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_21a41923-59d7-40a0-a3e5-8d05d798b55e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_53fab7fa-04db-4721-a483-7cdc840cc6b5" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_9f3cd622-83ec-43fa-ab43-5f426ab3ab78" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_53fab7fa-04db-4721-a483-7cdc840cc6b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_511f3446-a35f-4fb2-b9b4-2f520a4de9e0" xlink:to="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OvernightBankFundingRateMember_153d6519-9d29-4fbb-a4df-bc34753c102d" xlink:href="fstr-20250930.xsd#fstr_OvernightBankFundingRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_fstr_OvernightBankFundingRateMember_153d6519-9d29-4fbb-a4df-bc34753c102d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DailySimpleSOFRMember_827766a1-faf2-439e-86ad-680f039da452" xlink:href="fstr-20250930.xsd#fstr_DailySimpleSOFRMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_fstr_DailySimpleSOFRMember_827766a1-faf2-439e-86ad-680f039da452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_5337d373-4151-43a5-b78c-09781fcaad1a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BaseRateMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_us-gaap_BaseRateMember_5337d373-4151-43a5-b78c-09781fcaad1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrMember_af174fc5-99bd-4f06-a8fd-b65c969ffcb7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SecuredOvernightFinancingRateSofrMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_22153ae8-e655-40de-8c44-89eb8d4af7a2" xlink:to="loc_us-gaap_SecuredOvernightFinancingRateSofrMember_af174fc5-99bd-4f06-a8fd-b65c969ffcb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_5e9368a2-26d2-41c3-bae8-eaf71037d0a9" xlink:to="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_5595524e-85be-4f2f-860b-09c5cdc4bbba" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:to="loc_srt_MinimumMember_5595524e-85be-4f2f-860b-09c5cdc4bbba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d4640469-dbce-4afe-897f-6753d5a8e1c6" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_68316293-593a-422f-b310-bdacc4abdb52" xlink:to="loc_srt_MaximumMember_d4640469-dbce-4afe-897f-6753d5a8e1c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_4757556c-14dd-4f1a-87f8-a90acf852822" xlink:to="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_44ece441-ff09-4283-80bd-3e8b5bd64e70" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_44ece441-ff09-4283-80bd-3e8b5bd64e70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_7fe4cfe9-4cfd-45c9-b0fa-af5cece37786" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_DebtInstrumentTerm_7fe4cfe9-4cfd-45c9-b0fa-af5cece37786" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_ba495b27-1f6b-44f7-86b2-3fb4d0b94dc4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_ba495b27-1f6b-44f7-86b2-3fb4d0b94dc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_96bd90e8-e663-49ef-a26a-103de2a76e71" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentNumberOfFinancialCovenants"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_96bd90e8-e663-49ef-a26a-103de2a76e71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_23ca9be2-4e33-42f4-b24e-1fecc586cc6d" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentCovenantLeverageRatioMaximum"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_23ca9be2-4e33-42f4-b24e-1fecc586cc6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_a08cda4a-265f-443c-9562-d17133d746a9" xlink:href="fstr-20250930.xsd#fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_a08cda4a-265f-443c-9562-d17133d746a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_d0994b65-b777-4d72-abc4-b9cdba4e1859" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_f8a5befd-345b-4211-b100-bda28109a94d" xlink:to="loc_us-gaap_LineOfCredit_d0994b65-b777-4d72-abc4-b9cdba4e1859" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/EarningsPerCommonShareDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#EarningsPerCommonShareDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/EarningsPerCommonShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_ced1c35e-b8de-44b2-938c-937ca10ad08d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAbstract_6aa61d01-049a-4ec8-b6ff-4e3e5fd2ea33" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLossAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_ced1c35e-b8de-44b2-938c-937ca10ad08d" xlink:to="loc_us-gaap_NetIncomeLossAbstract_6aa61d01-049a-4ec8-b6ff-4e3e5fd2ea33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_2ff90989-b2ca-44c7-b2f1-64c211f7145f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAbstract_6aa61d01-049a-4ec8-b6ff-4e3e5fd2ea33" xlink:to="loc_us-gaap_NetIncomeLoss_2ff90989-b2ca-44c7-b2f1-64c211f7145f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAbstract_6aa61d01-049a-4ec8-b6ff-4e3e5fd2ea33" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_b02b6e07-10f3-4c0b-bd73-9052263faaab" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_b02b6e07-10f3-4c0b-bd73-9052263faaab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_f037114d-06c5-45aa-bf13-2335d49024de" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_f037114d-06c5-45aa-bf13-2335d49024de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_8437670c-ccc5-4165-82aa-08c18607c7f0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_8437670c-ccc5-4165-82aa-08c18607c7f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends_0f463877-70d3-4145-8673-02a7b654440a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_8437670c-ccc5-4165-82aa-08c18607c7f0" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends_0f463877-70d3-4145-8673-02a7b654440a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_8b8cc274-e9af-48fa-a91d-5098ebdebcba" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_8437670c-ccc5-4165-82aa-08c18607c7f0" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_8b8cc274-e9af-48fa-a91d-5098ebdebcba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ef9310ff-9845-4b21-ba99-02e2a65ca103" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_8437670c-ccc5-4165-82aa-08c18607c7f0" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ef9310ff-9845-4b21-ba99-02e2a65ca103" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_3117f499-b480-4b2d-9269-c69671148b15" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:to="loc_us-gaap_EarningsPerShareBasic_3117f499-b480-4b2d-9269-c69671148b15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_20429aa7-47fc-4251-9c70-3fa761ca6eb8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_005f6ae4-b3a2-4f1f-b894-575e1420efae" xlink:to="loc_us-gaap_EarningsPerShareDiluted_20429aa7-47fc-4251-9c70-3fa761ca6eb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#IncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/IncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_6d3073a4-6d1e-40ce-ba29-e1b972173de6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_e6988f89-2ad6-4647-8e00-cfa1d3b6d844" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6d3073a4-6d1e-40ce-ba29-e1b972173de6" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_e6988f89-2ad6-4647-8e00-cfa1d3b6d844" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ddef7c94-e7a4-4d95-a1bf-45c9c71bd80d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6d3073a4-6d1e-40ce-ba29-e1b972173de6" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ddef7c94-e7a4-4d95-a1bf-45c9c71bd80d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_4074d9c1-0a98-42b8-9283-881f1697dbf7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6d3073a4-6d1e-40ce-ba29-e1b972173de6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_4074d9c1-0a98-42b8-9283-881f1697dbf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_63d49553-552c-4580-a56c-8c9eeb3948ac" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6d3073a4-6d1e-40ce-ba29-e1b972173de6" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_63d49553-552c-4580-a56c-8c9eeb3948ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#StockBasedCompensationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_fe40ae4b-e500-417e-8613-abd23af81cb9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_fe40ae4b-e500-417e-8613-abd23af81cb9" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_d7302628-cfae-4d37-9141-8b890caac710" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_6679a82a-58c4-420d-a75b-0b772aa9b6e7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:to="loc_us-gaap_RestrictedStockMember_6679a82a-58c4-420d-a75b-0b772aa9b6e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_27b7ebd4-e326-48ed-99cb-661171ec34d8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d649a642-28b6-4af4-9638-840500eb381a" xlink:to="loc_us-gaap_PerformanceSharesMember_27b7ebd4-e326-48ed-99cb-661171ec34d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_043b8966-a0a7-4cba-a917-6fc135c5b8dc" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_6f320a1e-4417-42da-ba9a-8b865cceba70" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_043b8966-a0a7-4cba-a917-6fc135c5b8dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember_13aafcbe-af71-4a25-82db-e075f086923e" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_DirectorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_043b8966-a0a7-4cba-a917-6fc135c5b8dc" xlink:to="loc_srt_DirectorMember_13aafcbe-af71-4a25-82db-e075f086923e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4e8f4260-200c-4672-9a19-b5b0ccaa35d7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_84bf0c22-0bcb-413a-b9b2-cbb43fdb1c8d" xlink:to="loc_us-gaap_PlanNameDomain_4e8f4260-200c-4672-9a19-b5b0ccaa35d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_152f67ce-54f5-4d52-99bc-9d9670e9adba" xlink:href="fstr-20250930.xsd#fstr_OmnibusPlanAndEquityAndIncentivePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_4e8f4260-200c-4672-9a19-b5b0ccaa35d7" xlink:to="loc_fstr_OmnibusPlanAndEquityAndIncentivePlanMember_152f67ce-54f5-4d52-99bc-9d9670e9adba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d2273730-6b37-4771-8730-ef4519273f44" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_d91cc063-7b58-42fa-8533-1993cdd0fd99" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ShareBasedCompensation_d91cc063-7b58-42fa-8533-1993cdd0fd99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_8725a034-ddab-4fab-a466-52e83858b1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_8725a034-ddab-4fab-a466-52e83858b1cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_375d5180-bc2a-4b49-9860-72af09abfbcc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_375d5180-bc2a-4b49-9860-72af09abfbcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1631b58d-8184-4457-b633-d39800c20259" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1631b58d-8184-4457-b633-d39800c20259" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6c5de2d1-beac-4f79-b9b6-04bf935f8fe1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e91ea820-7bdf-4051-a267-731033157c0c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6c5de2d1-beac-4f79-b9b6-04bf935f8fe1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_fa76d7fa-1418-4fca-8c94-56831d9172c9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_fa76d7fa-1418-4fca-8c94-56831d9172c9" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:to="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_1efd2c32-d73b-4ce5-90c9-288874aa3582" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_d0ee8b49-1ab0-4b48-95d5-b426797c893c" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:to="loc_us-gaap_RestrictedStockMember_d0ee8b49-1ab0-4b48-95d5-b426797c893c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_22c4c0d2-e0be-43d0-9b60-85975bbb0014" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c905a5ee-e47e-45d1-aec5-33dac2b3d575" xlink:to="loc_us-gaap_PerformanceSharesMember_22c4c0d2-e0be-43d0-9b60-85975bbb0014" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f36b48ca-f820-46bc-bb12-5b87d7869fda" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_dddb1303-6ad6-4e78-8c2e-d9ceba5d2d09" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_dddb1303-6ad6-4e78-8c2e-d9ceba5d2d09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_fa325d22-b94e-40e4-9341-436ac3080a94" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_fa325d22-b94e-40e4-9341-436ac3080a94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60d7f814-31a2-4c2c-ab9b-5c9d6d435335" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60d7f814-31a2-4c2c-ab9b-5c9d6d435335" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_d0cc09f6-1c54-4b0b-baf6-126c54f6e4cb" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_d0cc09f6-1c54-4b0b-baf6-126c54f6e4cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a313ce39-284b-4107-b485-2f071a8aa1a9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cc010baa-57ed-41e3-b51f-20a46ee2998b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a313ce39-284b-4107-b485-2f071a8aa1a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_85ed0770-bace-4a96-9879-a8c079f2e6f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_e939a517-8543-4d57-bd93-8144999d13ea" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_e939a517-8543-4d57-bd93-8144999d13ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_e349053e-d0a1-4814-865f-d5dbaa7a2aff" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_e349053e-d0a1-4814-865f-d5dbaa7a2aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5ddc015a-b305-4dcc-9a4d-a53124667ccd" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5ddc015a-b305-4dcc-9a4d-a53124667ccd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fb90957e-fa96-41e2-b046-4d0161033de8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fb90957e-fa96-41e2-b046-4d0161033de8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_443204b4-8efd-4dda-9f94-bd4fc60ff958" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cd946f09-dfc4-46dc-be2a-b2979e4fcefa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_443204b4-8efd-4dda-9f94-bd4fc60ff958" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurementsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_7ac32890-cca7-4cff-b2ca-eaa9ec70732e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_7ac32890-cca7-4cff-b2ca-eaa9ec70732e" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_526ad501-9610-446e-863c-9c3c86bcdea3" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SwapMember_3e9a27a7-a3f9-4411-b05e-d04ecba662f9" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SwapMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:to="loc_us-gaap_SwapMember_3e9a27a7-a3f9-4411-b05e-d04ecba662f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_Swap2Member_32b7a133-b498-4280-a115-7f2590b1347a" xlink:href="fstr-20250930.xsd#fstr_Swap2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_18b1b67a-678e-4933-a79f-29855536b543" xlink:to="loc_fstr_Swap2Member_32b7a133-b498-4280-a115-7f2590b1347a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_81942571-0633-4b37-a2db-d175b49c93e0" xlink:to="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount_0509b391-0b50-4b17-9e28-8ca271b0a26a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:to="loc_us-gaap_DerivativeNotionalAmount_0509b391-0b50-4b17-9e28-8ca271b0a26a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_e8a860a5-04c2-4cbe-b337-1238c3f7b6c8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e3216bb8-9a33-40a1-aa6f-01c5f55e412e" xlink:to="loc_us-gaap_InvestmentIncomeInterest_e8a860a5-04c2-4cbe-b337-1238c3f7b6c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_e7d80637-0944-4f01-abd1-575b142030f6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_e7d80637-0944-4f01-abd1-575b142030f6" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3720b111-935f-4282-bd44-c240052ae515" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_7ce63449-d51d-42e0-8d91-7df34d0f6b0f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_7ce63449-d51d-42e0-8d91-7df34d0f6b0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_4358a9fa-5cd2-46bb-b7dd-26c724e2300a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_4358a9fa-5cd2-46bb-b7dd-26c724e2300a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_ebd8d33b-87cc-486c-815d-77a32c26a068" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_71e88090-6595-4f0f-9023-f272532dac5f" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_ebd8d33b-87cc-486c-815d-77a32c26a068" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_4193ed42-30ef-4569-8228-d929619f439a" xlink:to="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_1390673b-7917-43a8-90f4-3f9a44f289f7" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:to="loc_us-gaap_DerivativeAssets_1390673b-7917-43a8-90f4-3f9a44f289f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_e5ccece1-1d9d-4182-b5c3-048c786083cc" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_6338e5dd-52ad-4a80-b89e-975ad950dc9e" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_e5ccece1-1d9d-4182-b5c3-048c786083cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_4785cdfa-326f-48e7-87f8-60eb44b428c1" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_4785cdfa-326f-48e7-87f8-60eb44b428c1" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_36aa18fc-db39-434a-b7bb-b75509a500b0" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_afd73666-6ac2-4876-a85d-3e553e354b09" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:to="loc_us-gaap_DomesticPlanMember_afd73666-6ac2-4876-a85d-3e553e354b09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_07bfc647-10f1-4589-89bb-67e64f68b725" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_afd73666-6ac2-4876-a85d-3e553e354b09" xlink:to="loc_country_US_07bfc647-10f1-4589-89bb-67e64f68b725" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2f294189-76af-4c6d-a0ce-ff91d9504719" xlink:to="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_bc58a95e-7e82-45c1-8914-eccbf4ba95b3" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CA"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:to="loc_country_CA_bc58a95e-7e82-45c1-8914-eccbf4ba95b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_5204431c-b333-41a6-9e89-f8fe94de8b6f" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_8f9bd1d3-6e50-465e-b951-2e73f5233344" xlink:to="loc_country_GB_5204431c-b333-41a6-9e89-f8fe94de8b6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_94ce74c5-e67c-4abb-b8e5-6f796208270e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_023d94c7-cedc-499a-8ace-eb76a2965208" xlink:to="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_94ce74c5-e67c-4abb-b8e5-6f796208270e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfDefinedContributionPlans_af540c40-4599-41a9-a249-2bfaa2e6d6b5" xlink:href="fstr-20250930.xsd#fstr_NumberOfDefinedContributionPlans"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_94ce74c5-e67c-4abb-b8e5-6f796208270e" xlink:to="loc_fstr_NumberOfDefinedContributionPlans_af540c40-4599-41a9-a249-2bfaa2e6d6b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansScheduleofNetBenefitCostsDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_45cb415c-4081-436e-b134-ae6cdc052083" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_45cb415c-4081-436e-b134-ae6cdc052083" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_4faca36e-9880-4cb1-a996-080d659abc67" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_08d35f7c-9b97-4116-9e51-3426e6aa2800" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_4faca36e-9880-4cb1-a996-080d659abc67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_597c7d02-bb75-4465-a2a5-2358cee6244e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_4faca36e-9880-4cb1-a996-080d659abc67" xlink:to="loc_us-gaap_ForeignPlanMember_597c7d02-bb75-4465-a2a5-2358cee6244e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_3880e700-f8b9-41a5-b5cf-ebb37bd2aede" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_597c7d02-bb75-4465-a2a5-2358cee6244e" xlink:to="loc_country_GB_3880e700-f8b9-41a5-b5cf-ebb37bd2aede" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_5a985d90-478b-4f42-95a0-47a5b00b967f" xlink:to="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_55900a29-8bc6-46ea-b6fd-e8fb3c279b8f" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_55900a29-8bc6-46ea-b6fd-e8fb3c279b8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_42f7c78a-93bf-484a-8133-5426d60843c4" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_42f7c78a-93bf-484a-8133-5426d60843c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_e5cb3a5d-0470-4659-912b-3ec02852bdb8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_e5cb3a5d-0470-4659-912b-3ec02852bdb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_704b23cb-8a45-4b04-a2b1-53042b567296" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_704b23cb-8a45-4b04-a2b1-53042b567296" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_cf856b04-c580-4b31-93e3-4fc1901f25a0" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_932e2302-b857-4f6f-92ad-cd7d7c249403" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_cf856b04-c580-4b31-93e3-4fc1901f25a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#RetirementPlansScheduleofCostsofRetirementPlansDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_1673258b-bb8e-4fbd-97c9-5a8536ab905d" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_1673258b-bb8e-4fbd-97c9-5a8536ab905d" xlink:to="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_346a1a04-fc6c-407c-924a-7ce69f821817" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_0a4fba71-60d5-4bf3-b15f-bab123efe0ca" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:to="loc_us-gaap_DomesticPlanMember_0a4fba71-60d5-4bf3-b15f-bab123efe0ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_3c52570d-015c-4cae-9001-d9083a335dd5" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_0a4fba71-60d5-4bf3-b15f-bab123efe0ca" xlink:to="loc_country_US_3c52570d-015c-4cae-9001-d9083a335dd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_2b5364c2-60fb-4e34-b2ae-c8b8b3249e2e" xlink:to="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_84450ad0-390f-4c0e-8e17-e5f4360c31a3" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CA"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:to="loc_country_CA_84450ad0-390f-4c0e-8e17-e5f4360c31a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_411b45a9-5273-46d7-907e-8dfe65636b2d" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_GB"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_b0a423d5-43ac-4d31-becc-be3c7685530a" xlink:to="loc_country_GB_411b45a9-5273-46d7-907e-8dfe65636b2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_548eeb5a-deeb-4175-89a0-cadd10dd8b37" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanTable_68cbf7ac-df25-4395-bb1b-c6127b03dbe2" xlink:to="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_548eeb5a-deeb-4175-89a0-cadd10dd8b37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_a1fe9bc4-acaf-4ed2-bd42-bd11215c3810" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_548eeb5a-deeb-4175-89a0-cadd10dd8b37" xlink:to="loc_us-gaap_DefinedContributionPlanCostRecognized_a1fe9bc4-acaf-4ed2-bd42-bd11215c3810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails" xlink:type="simple" xlink:href="fstr-20250930.xsd#CommitmentsandContingentLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_35dcb84b-02c2-4b25-aaa0-57f1c826a843" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_35dcb84b-02c2-4b25-aaa0-57f1c826a843" xlink:to="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:to="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_9a46a1b3-d86f-4b03-a877-fb9001991450" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_be35110e-caa2-465a-ae7e-b8a6ca86c492" xlink:to="loc_srt_NameOfMajorCustomerDomain_9a46a1b3-d86f-4b03-a877-fb9001991450" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UPRRMember_15f56440-d9a6-4db9-ba5d-6cda0d945280" xlink:href="fstr-20250930.xsd#fstr_UPRRMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_9a46a1b3-d86f-4b03-a877-fb9001991450" xlink:to="loc_fstr_UPRRMember_15f56440-d9a6-4db9-ba5d-6cda0d945280" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_43326355-26b3-4c77-b2f8-07c6d621a2b8" xlink:to="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_d006eb04-2619-4c40-b59f-8d149f056106" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_d006eb04-2619-4c40-b59f-8d149f056106" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_e1e75152-29ca-4172-8253-ad83b9144407" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_e1e75152-29ca-4172-8253-ad83b9144407" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_f153f92f-00f1-4e1a-b392-3ec474141226" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_f153f92f-00f1-4e1a-b392-3ec474141226" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementInstallmentPaymentTerm_d3d69163-61b3-4161-9d20-7697e472e272" xlink:href="fstr-20250930.xsd#fstr_LitigationSettlementInstallmentPaymentTerm"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_LitigationSettlementInstallmentPaymentTerm_d3d69163-61b3-4161-9d20-7697e472e272" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_1f6e0fac-96c0-400c-ab52-c859567cb60d" xlink:href="fstr-20250930.xsd#fstr_NumberOfCompaniesReceivingGeneralNoticeLetter"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_1f6e0fac-96c0-400c-ab52-c859567cb60d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PresentValueOfProposedRemedialWork_ce4b9d67-19a2-4cc8-ac02-324195d58b6c" xlink:href="fstr-20250930.xsd#fstr_PresentValueOfProposedRemedialWork"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_PresentValueOfProposedRemedialWork_ce4b9d67-19a2-4cc8-ac02-324195d58b6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UndiscoveredRemedialWork_8dd15b2a-39d6-437a-b0b7-4b9077a79124" xlink:href="fstr-20250930.xsd#fstr_UndiscoveredRemedialWork"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_UndiscoveredRemedialWork_8dd15b2a-39d6-437a-b0b7-4b9077a79124" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_b0969f8e-366c-46ed-aebc-a117779297ab" xlink:href="fstr-20250930.xsd#fstr_RemedialWorkAnticipatedCleanUpPeriod"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_b0969f8e-366c-46ed-aebc-a117779297ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_c9e201ca-85ac-455f-8d6c-82c7100deb21" xlink:href="fstr-20250930.xsd#fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_c9e201ca-85ac-455f-8d6c-82c7100deb21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_4297134a-8057-494d-aa4e-cc1367315ccb" xlink:href="fstr-20250930.xsd#fstr_NumberOfPartiesRequiredToPerformRemedialWork"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_4297134a-8057-494d-aa4e-cc1367315ccb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccrualForEnvironmentalLossContingencies_63155d0e-4a0f-4798-9b55-b2f49f982ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccrualForEnvironmentalLossContingencies"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3e96a026-569b-487c-b5ea-d59f7459c393" xlink:to="loc_us-gaap_AccrualForEnvironmentalLossContingencies_63155d0e-4a0f-4798-9b55-b2f49f982ac6" 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/2025/ecd-2025.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/2025/ecd-2025.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/elts/us-gaap-2025.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/2025/elts/us-gaap-2025.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/2025/elts/us-gaap-2025.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/2025/elts/us-gaap-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.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/2025/ecd-2025.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.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/2025/ecd-2025.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>10
<FILENAME>fstr-20250930_g1.gif
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 fstr-20250930_g1.gif
M1TE&.#EAA 93 ?<         ,P  9@  F0  S   _P K   K,P K9@ KF0 K
MS  K_P!5  !5,P!59@!5F0!5S !5_P"   " ,P" 9@" F0" S " _P"J  "J
M,P"J9@"JF0"JS "J_P#5  #5,P#59@#5F0#5S #5_P#_  #_,P#_9@#_F0#_
MS #__S,  #, ,S, 9C, F3, S#, _S,K #,K,S,K9C,KF3,KS#,K_S-5 #-5
M,S-59C-5F3-5S#-5_S.  #. ,S. 9C. F3. S#. _S.J #.J,S.J9C.JF3.J
MS#.J_S/5 #/5,S/59C/5F3/5S#/5_S/_ #/_,S/_9C/_F3/_S#/__V8  &8
M,V8 9F8 F68 S&8 _V8K &8K,V8K9F8KF68KS&8K_V95 &95,V959F95F695
MS&95_V:  &: ,V: 9F: F6: S&: _V:J &:J,V:J9F:JF6:JS&:J_V;5 &;5
M,V;59F;5F6;5S&;5_V;_ &;_,V;_9F;_F6;_S&;__YD  )D ,YD 9ID F9D
MS)D _YDK )DK,YDK9IDKF9DKS)DK_YE5 )E5,YE59IE5F9E5S)E5_YF  )F
M,YF 9IF F9F S)F _YFJ )FJ,YFJ9IFJF9FJS)FJ_YG5 )G5,YG59IG5F9G5
MS)G5_YG_ )G_,YG_9IG_F9G_S)G__\P  ,P ,\P 9LP F<P S,P _\PK ,PK
M,\PK9LPKF<PKS,PK_\Q5 ,Q5,\Q59LQ5F<Q5S,Q5_\R  ,R ,\R 9LR F<R
MS,R _\RJ ,RJ,\RJ9LRJF<RJS,RJ_\S5 ,S5,\S59LS5F<S5S,S5_\S_ ,S_
M,\S_9LS_F<S_S,S___\  /\ ,_\ 9O\ F?\ S/\ __\K /\K,_\K9O\KF?\K
MS/\K__]5 /]5,_]59O]5F?]5S/]5__^  /^ ,_^ 9O^ F?^ S/^ __^J /^J
M,_^J9O^JF?^JS/^J___5 /_5,__59O_5F?_5S/_5____ /__,___9O__F?__
MS/___P               "'Y! $  /P +     "$!E,!  BL /<)'$BPH,&#
M"!,J7,BPH<.'$"-*G$BQHL6+&#-JW,BQH\>/($.*'$FRI,F3*%.J7,FRI<N7
M,&/*G$FSILV;.'/JW,FSI\^?0(,*'4JTJ-&C2),J7<JTJ=.G4*-*G4JUJM6K
M6+-JW<JUJ]>O8,.*'4NVK-FS:-.J7<NVK=NW<./*G4NWKMV[>//JW<NWK]^_
M@ ,+'DRXL.'#B!,K7LRXL>/'D"-+GDRYLN7+F.XS:][,N;/GSZ!#BQX=6-^^
M9?I0+U/&>C7KU["5N586C5[M:*1SZ][-N[?OW\#KWHX]&S;JUK*1KZ8'35D]
MX[&5!9].O;KUZ]BS:\^H.GKRXM]?SZ8W.W7R\/3$GS](C][V]_#CRY]/O[[=
MVMY=/U>6'CUK\_S1]AIYWO6WVG+&F580/86\8DLO[=@GX8045FCAA1B^1)QR
M_,UV(&L&GH=<>JM%H]YS):;77&O0[">=0>V\(F.##@[C7H8XYJCCCCSV:%UT
MKKG&7( KKK:B;;(=N5H]1<;VW(HK)H<B=*L=9(N,6&8)H8]<=NGEEV"&_[F7
M>A\Z]]^''^Y'8'%(0J<,-,L)>2"!L WIXFL'U?+*'Z_0Z&<JM?1RHYB$%FKH
MH8@F"I2)R/$7I9O>O0G>,G3Z1RF+(HJWIHC[G(=;0<IDF0J-J63))R_N**KJ
MJJRVZNJK#($H8IJRM:GI,BTF1V>G&SKJ87[D1?EH<?O58U O,V+9X+)9RH@J
MK-!&*^VTU-)7W'BX]A<=B@!&>MZ<;U;J7',$/L<HB',NQRAX+Q9T9;+-]BDO
MC:\\6^V]^.:K[[Z2]=KHMTFRVQR*< 9[*9%EAH?I@ JK)RM_)KIVD+ROE#JO
MQ5DR^THO"O+K\<<@ARSR6>H!2""O0IK8G\%T"E29'YP;ZN/FIKB^!F"3N+I<
MHD'$P%L(Q@V.&F_0MD0X\M%()ZWTTD Y_&MLT(B;:6O:AD?IM0226*O*R9&K
M:Y!F'JQM<5;"Z[.R%=.;+,=,M^WVVW#_QWV1>BM3W5RZQ@7+VI3BP>QHG0@V
M">1K=XI8-<P?1CW;Q&@/73'%&LN8BBV#RFWYY9AG'O*_.0M(-W3G:BTKUP$N
MF=RYB:]F'J5WOQ:QBJ?7"AZ=NRX8-.1"F_UXQO+",HSFP <O_/"&YETPX+5*
MJJNL92).YJ/A-EIWI@?K;&:!N-[I8<<#\9(E*FKS_F?X6/Y._/GHIZ\^?-V"
M?>MKK<,6<=<COKDWE5;[VK#HQ]./KIGSXY#R6#.QR-&(3VH+GY_D5:I>K.^!
M$(R@!#L#L  A)TI78Y[)!H0@O+U)3=%CV.P.Y+>G?0=ZT(E:\L+6KH&X(UZZ
MXU/C+"9#LSEP;X(XS*$.=_B7V2$'/RS$X-0"UK?!<<ATG6N->53XL*P-[&$Y
M.QGS!"<>@UR)66HCA*G0EL#&;8R'8 RC&,<X%BKYC8H=NI^2KE<ZPITP1#+S
MEKC0E"2 @0U!&_I5>DC'N-V!CW=>A!?&;$C&0AKRD/^(-(J'IE<N$ 40;.)R
MW@?A%R(7I0MF!$MCG>['FD<-B4RTJ]\="5B0821+;35\A19WU\5E68Q&M3!:
M(F=)RUK:\B1";%W"_A7")B&N:I:<6ORJ5C41F2M3***9WCKINH>%KI/DX9Y
MWA7(+FJQ5*MT7*E^5@C*W?*;X RG.!LBI?\I(X[*^]643,<PJJ$.BIMJF2Y_
MR1I&&2A^ WI4,L%%1!;1L84"T<<"YY6V/36+5/+R@[Q< <-4"&J<$(VH1 _I
MG7>*;9(6;"<2>6FD-7F2F?K9)#['TS4ZL@M2:=16U:I4$&19;)#B Z3C-$8O
M\TWTICC-*?H:E4PWXN^'L3.D$DC/J2E>>K1,8^,0B?H30 NB\TQ!'5(&GY>P
M/!&4H&K;)A>3-<@$3BY5.@VK6,?*M%D-M9FL^]^1G&2X[TBUDQGTVO\8I<)K
M%4E;ZRSGAZ:7*1.!D'EX*H@[O'I00=)+JQ2K81=Y0=;&.O:QU<(6$Q>WO(9=
MBE9NW.5L"I<__*E(3==B9G28"%>%2<UY'3V0%77'4!DJMK RE5SD9 16R-KV
MMKC_#9/#1%E,DIY+5U'Z;91XQ4FWPD9FV8.BW\Z#R;LUTJ0K)&H=-_4P? )T
M'_H &L5@*R_%=G6[6^UF;L=+WO)6*#9V*JW5F%K9PO$S@\$4:EH%Q#<R$0>#
MQ12M7$,8GF B5YD^-8@I;W=*5<J6NPU*I;S^N#LLU=:\$(ZPA('CUH3-9JTP
M2ZJ1,'O!F5'QI%--[\%ZJE<6KG-3I.4<_ !;,]E(<Q^-4_!"P;M=AOX,D#3M
M$V,GS.,>^W@S+K-?4<-&W7(*#G80XZ#_V$D[T_VV8?^*'PJAEA^W/K%1"0O1
M==M1"!LW*W>B<B5#S39;9<&T<C].LYK77!C['BB.3V:FNM1 ^$_9,6^.9U4R
M?II$W):ED5*OVRL)^399V/"*0' ^C]:LJ-TNRK"57M2J@NG5()NR^=*8SC1=
MJ";DI+(HK[-IJE !*V3/05.^*VPJU?!8S_I-&41^RZ]'+4L<#9.2( RB<9^T
M&TBA6<P5"C3PC%YJ"TT;^]C()@ML6L>W.&64M.;1%GXR>*Z\WD_0&3T8)T/+
MSC9NE$F3^DZW'A;'Y4BR5E ZF;L.G&-EN>*5A:6TJ,B<)30G^][XSO\W4X(D
M-0'E%[K(V8\/6VS!?MN7V?5<::F!2N5:"U7AT!6=.>TLL06!%Q6.0YM6@PUO
M!F[7E9;6M\A'3G*=H'.S;>T</[,M6OM^K9_.36(<^8?E:%,<F"4&=!Z3,W/H
MM?AJ*XHS<@SB/<A=[,"!W+71LTEFF!:[Y%"/NM17XI_?,@>IL"[IN+P=K,]Z
M"\I_]IRS*[KL3M8W2@H_M!#1E+6I\9O#!JD'TK/DY:MBZ=$-C1Q,F>7-J?O]
M[X#'B**7JW+0&>Y709Y:IY!8MX*=-*E(XMN:BOS$#ZW+UBY2J9 1Y->'V>^M
MM^Y>QC8.0WDQ748(U!U6:?R'6M@[\+"/O>R_3_,?8WK>ZT8<O#^/V/#"HW53
M3!JBP3/;1.J-]H3_S#"6.[NF@M2CW:/OKN22Q?1)8VS,6 )S*D(^^^Y[G^03
M-VN=]UG7NE:VX+ YIK97%N17(]]U!*H-NYJZQSNO/*-+C7+7@>0UHL,4[[JC
M,1V7+*\5-+/%+#?T?0JX@,B61]I"7-*U,+O%+G3D5\ME:QN6/XL'0--S4@'R
M.LN&;72E'AM(0BH66B1V.@6A#P7F<?0";##41;%U6&7F( QX@SC_F&9-<B[G
M=F(H1SHNLH%<\VIHDF(9=815ICIV-B7V5&'^TDBCI67GA$=@ R58MUHQ>'>
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
M00D.W-C%F#B4@*%%>I$)?[E%/]&23A'&[<K")[RQO:.T 9(QE>@3BA!"J0#
M,!1 F4O#<*00!#Q#<33'%%(&HPM! O,LRS*:YDD:.Q2>V\L$=-.$3\BE= P>
M?-PA-A.>"JP]J4,>0$PZU./#",2A"_0V"L1$X4L?)UE!2Y3_1&L1-&ZY*=?Z
ME7DC"#R2GQYTCV[B)R<;%UW[K?H1/(W8QERQCK)2MODC-J_ZHH%!(01ZI/HS
MJ@IR2?C3R??C2?B9M$TC'#8"2451N[IBKZMP+V]4RE<\QZ8L"S,D(:>4RM79
M-N6Q,Q(D-]C+):*S1WI$/0:;P!]*R.>!1[+4H=LKJ3=[/2#J.3MDGH[2P.!A
M.O,[C9M:M.6[FID:L=6(DLD@.]8HB';X+?HAKY>D"4=1.PZ2B$/!#H/+B.ZS
MNTLCE*;RE^UZB7N!+EN4KD8YCR5D'?1[$TO+F%QS([TCOVTZI\?S+?6SF-P0
M)_D0$/4;'#9*(R-CO^#PS)WH1J7D_SP"G,K?- NH'"'@)$Z7$<O44\?DA$,Y
MG#W7<RS?&[IWVZBL_#:B>[JB0SH^ [?'(H:&)(@0@Q*RLQ'+R(O)N):]C(PF
M41*6*@AE,#Q!@IOHZYC2'#P?G*.?2LE; 9/GJBUZJC[YH#XO,<35>35  <)2
MW$)OHL(EFT*1ZT$%G49^\IRX(CG9!)/\;(AFX\TP9,KB]-"=(,>H_- 1K15]
ME$MR0\ZHJRQZ?+?KA$.MW*78TZC96S#<.TN#5!J"C+"Q!*)RRZ6H"T%W^[RP
M:RGSN2*^I$1F>4&K"S%GV8PNLHVERL%\0A0^V3OLBS3$@\^2R,U:23POX42<
M]"/1S TY0?^A6$P@IO+)GI2_-A73-\4@[%,[0F$[M(,;NTD7EDPK_CC*JMC-
M#7TV<"310>4)X10A0D54,Y%.!".B&D71Z&3''G7.[%S+1?VEJZ0S%3W(#\P$
MKY0EA43.I#%$)1F['>D,)FFBBZ2IF>(5&U$F_BJ(T$&)'[/0\D()#FH..L*2
M2,*\5^C05@%*NR*\+WT<<QFD 3V_,3(R8UL/PE--E4--QS/-PVN\'C3"7;L<
MSTD/68LGN .)K$A*0 W 7TW40374V"G7=$4L&T51"71 >80]?Y0ZH@M2[<S
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
M9WE]T79="I5J&V' 4IM:ZE,*:I,XJ[3VGT=P:+4BA(9BQ#)F*T+PYKYX*T+
MT"T5#%>B7,TM('#MFN<!)^CT5"V9G@5JR7(=ETY9ZLC@Q3+L(Y]P&:!HTT+6
MUVKDW@O6EV:RW;%:WV8@3>X!4GK:T6-M*2?^V=RI!NO%V[PQ4J,%UA)B9*00
M5)A6+)D)*9Y-S3A!!IM.$KY2!)S_BBM$M"9()(C+GH2$9L[,)H1L*MS--L1N
MW"9M6MR^),7+=45+#%64T2&7S&N24852"06O_=HO"155-J!.7"S?P9XRK 71
MR9Z67<MC8-AW7LIX,LJW]>6L+!WY"(L*-L:VYI&43F(00L=>-A1-HA5AX&HQ
MSN>I8,]FANV2TAE:->D#V<)%JI=CJ.3R;6(*QM=[/*N;!L#.GL1K=6OD&H3;
M,26%MFU%T&GE'@2X9@2V5FL9;L0-N<15)BU7PL1Q[DZNY5#$G*M-4,5-)%F2
M%5DOU1916.WSE6"TD>#P7,0\5*+ H5G7A0;X148HPD;ND4?2.0VB'!BLH,*P
MVF)@38: _V;*0L5-9ZY'JFCN(/[&D#Z2QOY>JH(1H)U-1;ED;*S&V,:-0QZ0
MK"R&7[6JSAK.RN[#&7:N08#HBNGOA=2?_P+ GJH$/00P0L#L1_@L;89HZI3C
M.2K%[!H;.A),!1); Q.5D:&N6:YNF=ROC2B#-=G%G?AK7M3L/LQGW<9-FI9*
MQ&J7^WI;;8PM'Y$/_5J6J0Z:@$E=VMIM9ER/V.#M*NKJF'Z*9 "<*RC*]3X8
M>;T1W0"<84POVE2BJ'PD?OK,\8$;JU*K_:XLYQIP0IB&S'HQ0HPN1H2NRWKO
M-D;N:V'N:N*-BG));7VE!3J,KL%KS$WE B*5L)%>.M[AQEBE!^CCS9ZX95MP
M69[\S\1:"M4@5#D!;CHEWPX?)'?=7BWL&5H!&A'B2L2RL%]Y+Q5FK$%"':E&
M3\]<Y&$(K@,=*R YLE8I&B22+!2[IN,N:+2*\4)\[N;:\A=SA )3:,Z"A"X7
M!/^B12^O9N7%$ASG7*0F;0+.L1+A851P7L+L3HR**-'J[B!2$=96T5M<1"^T
M</$V2]VUS0N2E[V5K5W^JAQ=7=95+(0ME$7NHK8!\?<JTJY*CZ+XTY=>LF&@
M\OO0 ]*YIRM*"M3);[#L3"K$\D68,;NL;,L&,P ,,S!#M$'82 !K;OYVKA1&
M_R[0NF;&A!ZQV?'24G 0S9(PX5H/S9#FP9QO-@4VKR(U597RP,Q?7(0M')CA
MUHV<L;+\#BGWL$?UB0KT;H^I0E*5J>?[OH8D@B?"_A5E>+(/MN(CHMOMH:)J
M-')MH"\[;=$.0\H[U2#9:D^R>M\KT+.GSG)T=O$E;4B B!1G<5)_H,$DR#5=
MS[48@$@(;9PL^^\ @X2)071'/V/EDO%%U*M4"BVZXES $!/3.JI."9$N5;,R
MSV&E!K*-7%=<" I&%"L.QT;;^'"OABV:\>U]?F10E^E]P5E"%N&JEJ<?95N
M65AYF+4/"O'>NO;9!=*7+I9"B\Q\KC ZB:^:O>=NL/]QB.!K+8/0#4R"PE1V
M:&8"&E#NXFAN&$=.;DZ"=G(6,3STX00C0WMKVQ8P10, 85]<Y2+P/AC5E&",
M.TYP'>/6'6=,6,[CH=HKL<D$$"$9KUF>96<$71ART&$J51W=*,8E8I11V?*J
MR<9VQ]YG7G8-+UCR]JSP#=:J89CJF74=6;V;!P\#.L'V#@(K:GL1K/@S^!"N
M7P$6Q1JD^ QO^/8L6J-E1I\2"MEF&NM-3*G$C:L+&D!U JMUX& "+P?P+W?$
MC&NT,5;N37*)&[;WFCC93KT$D[WCS#U,E-^.<BU,HTZE6(2,XO@X6LI>H!P/
M(\IDP>FS^BRA0SFFEK+/W';_'2EC3Z6]ISM#,L?^IV30M@>> ZCH=,!JE[+>
M&WUMAHG_SE23:0S/W<22;W!H1H0WKLJZZ8ZC5*=P=^"@-T8<P.($-J<0 _LQ
MSON%J_^V+9!+S@W@R%PKC#(L&ZO?$EV+P0VL0 CA\E!V+M8@,\PAMKH6TSJB
M+@6Z*V/GU$Y(MLUU<$84SDNK'Z!@=H]:Q#;=VR(#*1UM^'\JX6N'-4'&1G>)
MRH8Y*:4LE#VKZ?B,M5<!KAV!^?,!(=F8<RLC6&8@>((QQFQ@6/-J=1X=E"0O
MAF&R9WGD3/)V54+#>*1CZ01Q.H340ZD##EI,-]-(][KDN,WJ;U][!"8AB?Y%
M]P1)_W0"=RX8TAJ5?QZ4#9>/W=00D<E'._/-#=.+)G;(8%!_[PM<[ -5/9MV
M-AA0G^J"A]M=C7C.BRPB&48-.U="NCF=)U2XUUWXZMG]ODH[PU,+#[K.;T9O
M6XN87K7).HW.7+&B^?32%'>,<Z1Q,TFRLU9&A>'AT'IO)#R[&/P^?'>V;FLQ
MXZ;N*H.E*^A;5RZLM6M46(SH"-<;\CK(8_#JQ*,/$=.8V%;J))X^N$AYO[S,
M3R<V)8\W VXD>D;Y#29_L;DERDKV0F9@+C$?$9_(FF\Z3]^9@UNWV^B\)4V$
M:;*<U9=XG!O(&I3=EK[5GRV^I6F@;C&6'OFZC#U&3'JY0!X\GO)^ULBZX1#_
M7NMOD6^$\),+*G5*/3P_MWQ4W)__IL&7+NP6%Y0O$7O;L04#FU#8&I?O<<1
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
M9.=2&/R':I"JNNU\@_5V7ZUT@4!#8YF+6'D-U1TG2\>"$ZLUX9O']K+GW3T
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
MH&%:1Y!'*:E0B$G[6MUJ)4?K)3):@_1"#&A@JN;*&$T[3^FJ5]K*).SJM/O
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
M^M(2'%=[@E9_=;29(T\E[5$;X5)!"EA]8@LU/;#A<!CC #I;,]-,R"PUV1.
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
M&1LYX<0 #IH<(AY;S5$Z]9O^B<]TD H;KN$[_HP?%N  &IYI4%Q*\L7&K8A
MHI('^4UIF<BW1%(GP8=Y;-B)58M=2D2([66Y9)BH5<V&Z K6,"12M -*+19@
MOA*$G1RUJ 3_U&6LJ2)K.>*$V<JD@6+JP1A%U5R$V&.J8!\NH64NW21/[H3V
M64YIFF9/5!TN3MW850X54E].)D5H5@EJ>@D3WLZ9G E2\"8Q<,8,(:-X1(,4
M]0Z[J9U9.5ETV2$=0D< NA4>RF'\W=4X(II>P56B;$>?R9W=P=6]3271K,9H
MXF.0E42%O8BGF52P3,LKI:<KXO]8R)789>%>D''$"*H80%+$SJEEUW@BCFF0
MSRE4XQ7$I\$@!<$G*@Y.0N9@!ZV$218=2I*G"JWD:NY$# QG;%KH3V!HQ3VE
M^^F2:B+A#<!DJLBFCE@AD\Q0BA[%#-%F4XPA9%A1)H""^HG3E&G9HM!9X,43
MSY2C !8:._'='BI<C_J;D.+1:C#* <Y,H7SFA)+%2L58I%6:>R0B(VV>KY"8
MX[TB0:I48'Z6C7G@#K(-13(2A!H%)YI@F<;@2-&/ ''I@D 0G+9B*$XFY&W0
MQF%FC/7E10V2+3RIJGPH$$(I'V5",1JC[1C93O+DBU:.3!K5#?B4,DQ?ML4
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
A6UK3GA:UJ546[6I9VUK7OA:VL97M;&E;6]O>UDL! 0 [

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Oct. 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">Sep. 30,  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 );">Commission File Number</a></td>
<td class="text">000-10436<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">L.B. Foster Company<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">PA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">25-1324733<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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, Street Name</a></td>
<td class="text">415 Holiday Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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, Suite</a></td>
<td class="text">Suite 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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</a></td>
<td class="text">Pittsburgh<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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</a></td>
<td class="text">PA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">15220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">412<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">928-3400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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, par value $0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">FSTR<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">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">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_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 (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,393,009<span></span>
</td>
</tr>
<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">Q3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">0000352825<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 30, 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">$ 3,428<span></span>
</td>
<td class="nump">$ 2,454<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableNetCurrent', window );">Accounts receivable - net (Note 5)</a></td>
<td class="nump">64,429<span></span>
</td>
<td class="nump">64,978<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets - net (Note 3)</a></td>
<td class="nump">7,943<span></span>
</td>
<td class="nump">16,720<span></span>
</td>
</tr>
<tr class="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 (Note 6)</a></td>
<td class="nump">69,563<span></span>
</td>
<td class="nump">70,506<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">8,159<span></span>
</td>
<td class="nump">6,947<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">153,522<span></span>
</td>
<td class="nump">161,605<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property, plant, and equipment - net</a></td>
<td class="nump">76,940<span></span>
</td>
<td class="nump">75,374<span></span>
</td>
</tr>
<tr class="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 right-of-use assets - net</a></td>
<td class="nump">30,109<span></span>
</td>
<td class="nump">18,480<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrentAbstract', window );"><strong>Other assets:</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_Goodwill', window );">Goodwill (Note 4)</a></td>
<td class="nump">32,992<span></span>
</td>
<td class="nump">31,907<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Other intangibles - net (Note 4)</a></td>
<td class="nump">12,178<span></span>
</td>
<td class="nump">14,801<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets (Note 9)</a></td>
<td class="nump">23,982<span></span>
</td>
<td class="nump">28,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">4,166<span></span>
</td>
<td class="nump">3,483<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">333,889<span></span>
</td>
<td class="nump">334,550<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">37,736<span></span>
</td>
<td class="nump">50,083<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue (Note 3)</a></td>
<td class="nump">9,059<span></span>
</td>
<td class="nump">10,205<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued payroll and employee benefits</a></td>
<td class="nump">9,158<span></span>
</td>
<td class="nump">15,393<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Current maturities of long-term debt (Note 7)</a></td>
<td class="nump">167<span></span>
</td>
<td class="nump">167<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">13,414<span></span>
</td>
<td class="nump">12,448<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">69,534<span></span>
</td>
<td class="nump">88,296<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligations', window );">Long-term debt (Note 7)</a></td>
<td class="nump">58,555<span></span>
</td>
<td class="nump">46,773<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities (Note 9)</a></td>
<td class="nump">1,060<span></span>
</td>
<td class="nump">1,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities</a></td>
<td class="nump">25,705<span></span>
</td>
<td class="nump">14,709<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">3,441<span></span>
</td>
<td class="nump">4,608<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at September&#160;30, 2025 and December&#160;31, 2024, 11,115,779; shares outstanding at September&#160;30, 2025 and December&#160;31, 2024, 10,247,806 and 10,573,432, respectively</a></td>
<td class="nump">111<span></span>
</td>
<td class="nump">111<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Paid-in capital</a></td>
<td class="nump">43,500<span></span>
</td>
<td class="nump">43,550<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">172,708<span></span>
</td>
<td class="nump">167,579<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury stock - at cost, 867,973 and 542,347 common stock shares at September&#160;30, 2025 and December&#160;31, 2024, respectively</a></td>
<td class="num">(20,803)<span></span>
</td>
<td class="num">(11,208)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(20,715)<span></span>
</td>
<td class="num">(21,716)<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 L.B. Foster Company stockholders&#8217; equity</a></td>
<td class="nump">174,801<span></span>
</td>
<td class="nump">178,316<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Noncontrolling interest</a></td>
<td class="nump">793<span></span>
</td>
<td class="nump">698<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">175,594<span></span>
</td>
<td class="nump">179,014<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 STOCKHOLDERS&#8217; EQUITY</a></td>
<td class="nump">$ 333,889<span></span>
</td>
<td class="nump">$ 334,550<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_AccountsNotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 accounts and financing receivables, classified as current. Includes, but is not limited to, notes and loan 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 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_AccountsNotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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/2009/role/commonPracticeRef<br> -Topic 815<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/2147480870/815-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 7: 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 8: 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/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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-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 S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 64<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481620/480-10-55-64<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<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 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: 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 26: 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 27: 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 28: 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 29: 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 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)(i))<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)(4)(iii)(A))<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 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 33: http://www.xbrl.org/2003/role/disclosureRef<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 34: http://www.xbrl.org/2003/role/disclosureRef<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 35: 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 36: 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 37: 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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 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 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/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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 10: 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 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: 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 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<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)(4)(iii)(A))<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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: 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 cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (01)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-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 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 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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: 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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, 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 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 2: 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_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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/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/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_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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 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/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478064/805-740-55-13<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 39<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-39<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 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 7: 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 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 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 10: 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 11: 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 12: 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 13: 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><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-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;">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_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/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 5: 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 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)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: 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 8: 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 9: 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 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://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 5: 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 6: 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 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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/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 10: 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 11: 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 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: 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 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (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_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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/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)(16)(a)(2))<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_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtAndCapitalLeaseObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: 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 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<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 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 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/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 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<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 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://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(22))<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_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherAssetsNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and amortization, of property, plant, and equipment and finance lease right-of-use asset.</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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: 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 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: 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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 10: 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 11: 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 (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 12: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 13: 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)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 14: 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 (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 15: 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 (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 30: 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 (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 31: 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 (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 35: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 42: 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 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 45: 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 46: 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 47: 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 48: 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 49: 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 50: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 51: 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 52: 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 53: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 54: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 55: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 56: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br><br>Reference 57: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to 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> -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 2: 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 3: 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_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Sep. 30, 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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in USD 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">20,000,000<span></span>
</td>
<td class="nump">20,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">11,115,779<span></span>
</td>
<td class="nump">11,115,779<span></span>
</td>
</tr>
<tr class="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">10,247,806<span></span>
</td>
<td class="nump">10,573,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock shares - at cost, common stock (in shares)</a></td>
<td class="nump">867,973<span></span>
</td>
<td class="nump">542,347<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_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>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 138,286<span></span>
</td>
<td class="nump">$ 137,466<span></span>
</td>
<td class="nump">$ 379,636<span></span>
</td>
<td class="nump">$ 402,582<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total cost of sales</a></td>
<td class="nump">107,220<span></span>
</td>
<td class="nump">104,708<span></span>
</td>
<td class="nump">297,519<span></span>
</td>
<td class="nump">313,135<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">31,066<span></span>
</td>
<td class="nump">32,758<span></span>
</td>
<td class="nump">82,117<span></span>
</td>
<td class="nump">89,447<span></span>
</td>
</tr>
<tr class="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 and administrative expenses</a></td>
<td class="nump">22,077<span></span>
</td>
<td class="nump">24,289<span></span>
</td>
<td class="nump">65,411<span></span>
</td>
<td class="nump">71,977<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">(Gain) on sale of former joint venture facility</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(3,477)<span></span>
</td>
</tr>
<tr class="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">694<span></span>
</td>
<td class="nump">1,146<span></span>
</td>
<td class="nump">2,656<span></span>
</td>
<td class="nump">3,486<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">8,295<span></span>
</td>
<td class="nump">7,323<span></span>
</td>
<td class="nump">14,050<span></span>
</td>
<td class="nump">17,461<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest expense - net</a></td>
<td class="nump">1,254<span></span>
</td>
<td class="nump">1,358<span></span>
</td>
<td class="nump">3,887<span></span>
</td>
<td class="nump">3,976<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income - net</a></td>
<td class="num">(96)<span></span>
</td>
<td class="num">(188)<span></span>
</td>
<td class="num">(509)<span></span>
</td>
<td class="num">(525)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">7,137<span></span>
</td>
<td class="nump">6,153<span></span>
</td>
<td class="nump">10,672<span></span>
</td>
<td class="nump">14,010<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="nump">2,812<span></span>
</td>
<td class="num">(29,745)<span></span>
</td>
<td class="nump">5,625<span></span>
</td>
<td class="num">(29,110)<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_ProfitLoss', window );">Net income</a></td>
<td class="nump">4,325<span></span>
</td>
<td class="nump">35,898<span></span>
</td>
<td class="nump">5,047<span></span>
</td>
<td class="nump">43,120<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Net loss attributable to noncontrolling interest</a></td>
<td class="num">(29)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="num">(82)<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to L.B. Foster Company</a></td>
<td class="nump">$ 4,354<span></span>
</td>
<td class="nump">$ 35,905<span></span>
</td>
<td class="nump">$ 5,129<span></span>
</td>
<td class="nump">$ 43,188<span></span>
</td>
</tr>
<tr class="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>Per share data attributable to L.B. Foster shareholders:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per common share (in USD per share)</a></td>
<td class="nump">$ 0.42<span></span>
</td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 0.49<span></span>
</td>
<td class="nump">$ 4.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_EarningsPerShareDiluted', window );">Diluted earnings per common share (in USD per share)</a></td>
<td class="nump">$ 0.40<span></span>
</td>
<td class="nump">$ 3.27<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 3.91<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average shares outstanding (in shares)</a></td>
<td class="nump">10,356<span></span>
</td>
<td class="nump">10,718<span></span>
</td>
<td class="nump">10,444<span></span>
</td>
<td class="nump">10,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average shares outstanding (in shares)</a></td>
<td class="nump">10,880<span></span>
</td>
<td class="nump">10,992<span></span>
</td>
<td class="nump">10,923<span></span>
</td>
<td class="nump">11,059<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Sales of goods</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 124,830<span></span>
</td>
<td class="nump">$ 119,322<span></span>
</td>
<td class="nump">$ 340,449<span></span>
</td>
<td class="nump">$ 346,202<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total cost of sales</a></td>
<td class="nump">93,915<span></span>
</td>
<td class="nump">89,286<span></span>
</td>
<td class="nump">259,472<span></span>
</td>
<td class="nump">264,543<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember', window );">Sales of services</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">13,456<span></span>
</td>
<td class="nump">18,144<span></span>
</td>
<td class="nump">39,187<span></span>
</td>
<td class="nump">56,380<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Total cost of sales</a></td>
<td class="nump">$ 13,305<span></span>
</td>
<td class="nump">$ 15,422<span></span>
</td>
<td class="nump">$ 38,047<span></span>
</td>
<td class="nump">$ 48,592<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.</p></div>
<a href="javascript: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 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-11<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-24<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 7: 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 8: 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><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/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 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(2))<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 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 9: 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<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)(5))<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 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<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)(iv))<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)(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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: 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 10: 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 11: 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 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: 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 19: 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 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 21: 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 22: 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 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 24: 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 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: 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 10: 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 11: 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 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: 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 19: 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 20: 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 21: 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 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 23: 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/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 5: 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 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: 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 8: 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 9: 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 10: 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 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(2))<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 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 13: 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 14: 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 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: 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 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)(iii)(A))<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 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 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<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 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 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)(iii)(A))<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)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<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)(5))<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/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/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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_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/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<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 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: 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 16: 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_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 nonoperating.</p></div>
<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 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 4: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<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)(i))<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<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 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 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 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: 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 18: 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 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: 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 21: 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 22: 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 23: 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 24: 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 25: 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 26: 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 27: 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 28: 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 29: 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: 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 36: 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 37: 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 38: http://www.xbrl.org/2003/role/disclosureRef<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 39: http://www.xbrl.org/2003/role/disclosureRef<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 40: http://www.xbrl.org/2003/role/disclosureRef<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 41: http://www.xbrl.org/2003/role/disclosureRef<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 42: http://www.xbrl.org/2003/role/disclosureRef<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 43: 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 44: 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 45: 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 46: 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 47: 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 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: 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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 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 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(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: 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 9: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/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 6: 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 7: 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 8: 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<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(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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 20: 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 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 22: 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 23: 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 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)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: 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 28: 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 29: 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 30: 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 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)(4)(i))<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 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 33: http://www.xbrl.org/2003/role/disclosureRef<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 34: http://www.xbrl.org/2003/role/disclosureRef<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 35: http://www.xbrl.org/2003/role/disclosureRef<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 36: 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 37: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 38: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 39: 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 40: 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 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<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://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 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 (a)<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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 9: 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 10: 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-18<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 4,325<span></span>
</td>
<td class="nump">$ 35,898<span></span>
</td>
<td class="nump">$ 5,047<span></span>
</td>
<td class="nump">$ 43,120<span></span>
</td>
</tr>
<tr class="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, net of tax:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(513)<span></span>
</td>
<td class="nump">1,376<span></span>
</td>
<td class="nump">1,529<span></span>
</td>
<td class="num">(590)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Unrealized loss on cash flow hedges, net of tax expense of $0</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(44)<span></span>
</td>
<td class="num">(698)<span></span>
</td>
<td class="num">(351)<span></span>
</td>
<td class="num">(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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax', window );">Reclassification of pension liability adjustments to earnings, net of tax expense of $0, $5, $0, and $12, respectively*</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">24<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">75<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,768<span></span>
</td>
<td class="nump">36,600<span></span>
</td>
<td class="nump">6,225<span></span>
</td>
<td class="nump">41,827<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract', window );"><strong>Less comprehensive loss attributable to noncontrolling interest:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Net loss attributable to noncontrolling interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(29)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="num">(82)<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">23<span></span>
</td>
<td class="nump">18<span></span>
</td>
<td class="nump">177<span></span>
</td>
<td class="num">(71)<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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Amounts attributable to noncontrolling interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(6)<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="nump">95<span></span>
</td>
<td class="num">(139)<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to L.B. Foster Company</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 3,774<span></span>
</td>
<td class="nump">$ 36,589<span></span>
</td>
<td class="nump">$ 6,130<span></span>
</td>
<td class="nump">$ 41,966<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reclassifications out of &#8220;Accumulated other comprehensive loss&#8221; for pension obligations are charged to &#8220;Selling and administrative expenses&#8221; within the Condensed Consolidated Statements of Operations.</span></td>
</tr></table></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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 (loss) and other comprehensive income (loss), attributable to noncontrolling interests. 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-21<br><br>Reference 6: 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 7: 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 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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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. 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://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(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-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 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 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 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(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: 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 9: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, attributable to noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript: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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of reclassification adjustment from accumulated other comprehensive (income) loss for net periodic benefit cost (credit) of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-15<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-17A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 20: 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 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 22: 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 23: 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 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)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: 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 28: 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 29: 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 30: 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 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)(4)(i))<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 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 33: http://www.xbrl.org/2003/role/disclosureRef<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 34: http://www.xbrl.org/2003/role/disclosureRef<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 35: http://www.xbrl.org/2003/role/disclosureRef<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 36: 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 37: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 38: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 39: 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 40: 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 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax', window );">Unrealized loss on cash flow hedge, tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax', window );">Reclassification of pension liability adjustments to earnings, tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 12<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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript: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 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax (expense) benefit for reclassification adjustment from accumulated other comprehensive (income) loss of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-12<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 5,047<span></span>
</td>
<td class="nump">$ 43,120<span></span>
</td>
</tr>
<tr class="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 cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="nump">4,828<span></span>
</td>
<td class="num">(30,122)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">6,846<span></span>
</td>
<td class="nump">7,076<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentForAmortization', window );">Amortization</a></td>
<td class="nump">2,656<span></span>
</td>
<td class="nump">3,486<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessExitCosts1', window );">Inventory and fixed asset exit costs (Note 2)</a></td>
<td class="nump">655<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_EquityLossIncomeAndRemeasurementGain', window );">Equity in income of nonconsolidated investments</a></td>
<td class="num">(69)<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Gain on sales and disposals of property, plant, and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,437)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">3,417<span></span>
</td>
<td class="nump">3,135<span></span>
</td>
</tr>
<tr class="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>Change in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables', window );">Accounts receivable</a></td>
<td class="nump">1,333<span></span>
</td>
<td class="num">(12,976)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract assets</a></td>
<td class="nump">9,522<span></span>
</td>
<td class="nump">9,910<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">815<span></span>
</td>
<td class="num">(465)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="num">(1,343)<span></span>
</td>
<td class="num">(2,020)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other noncurrent assets</a></td>
<td class="nump">3,640<span></span>
</td>
<td class="nump">2,517<span></span>
</td>
</tr>
<tr class="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="num">(12,201)<span></span>
</td>
<td class="nump">603<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="num">(1,327)<span></span>
</td>
<td class="num">(2,861)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued payroll and employee benefits</a></td>
<td class="num">(6,327)<span></span>
</td>
<td class="num">(5,747)<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_fstr_IncreaseDecreaseInAccruedSettlement', window );">Accrued settlement</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,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_IncreaseDecreaseInOtherAccruedLiabilities', window );">Other current liabilities</a></td>
<td class="nump">510<span></span>
</td>
<td class="num">(5,848)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Other long-term liabilities</a></td>
<td class="num">(4,555)<span></span>
</td>
<td class="num">(3,030)<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 (used in) operating activities</a></td>
<td class="nump">13,447<span></span>
</td>
<td class="num">(1,653)<span></span>
</td>
</tr>
<tr class="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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from the sale of property, plant, and equipment</a></td>
<td class="nump">53<span></span>
</td>
<td class="nump">3,881<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures on property, plant, and equipment</a></td>
<td class="num">(8,057)<span></span>
</td>
<td class="num">(7,834)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(8,004)<span></span>
</td>
<td class="num">(3,953)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>CASH FLOWS FROM FINANCING ACTIVITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfOtherLongTermDebt', window );">Repayments of debt</a></td>
<td class="num">(202,405)<span></span>
</td>
<td class="num">(166,005)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt', window );">Proceeds from debt</a></td>
<td class="nump">212,368<span></span>
</td>
<td class="nump">178,167<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Debt issuance costs</a></td>
<td class="num">(706)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Treasury stock acquisitions</a></td>
<td class="num">(13,103)<span></span>
</td>
<td class="num">(5,742)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Deferred payment for Skratch acquisition</a></td>
<td class="num">(782)<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(4,628)<span></span>
</td>
<td class="nump">6,420<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">159<span></span>
</td>
<td class="num">(239)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash and cash equivalents</a></td>
<td class="nump">974<span></span>
</td>
<td class="nump">575<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">2,454<span></span>
</td>
<td class="nump">2,560<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">3,428<span></span>
</td>
<td class="nump">3,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">3,722<span></span>
</td>
<td class="nump">3,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">1,163<span></span>
</td>
<td class="nump">1,596<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for lease liabilities</a></td>
<td class="nump">$ 14,988<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_fstr_EquityLossIncomeAndRemeasurementGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (Loss) Income And Remeasurement Gain</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_EquityLossIncomeAndRemeasurementGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_IncreaseDecreaseInAccruedSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Accrued Settlement</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_IncreaseDecreaseInAccruedSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentForAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives.</p></div>
<a href="javascript: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_AdjustmentForAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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 equivalent, and cash and cash equivalent restricted to withdrawal or usage; attributable to continuing operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript: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 and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript: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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(h)(1)(Note 1))<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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-11<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-24<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-12<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 change on cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; held in foreign currency; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</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 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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-10-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<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/2147482099/360-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_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as 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 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -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_IncreaseDecreaseInAccountsAndOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478345/912-310-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript: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_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor 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 activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, 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 activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing 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> -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_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after 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> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -SubTopic 10<br> -Topic 230<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_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<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_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromIssuanceOfOtherLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from issuance of long-term debt 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> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 20: 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 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 22: 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 23: 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 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)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: 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 28: 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 29: 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 30: 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 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)(4)(i))<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 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 33: http://www.xbrl.org/2003/role/disclosureRef<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 34: http://www.xbrl.org/2003/role/disclosureRef<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 35: http://www.xbrl.org/2003/role/disclosureRef<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 36: 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 37: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 38: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 39: 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 40: 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 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfOtherLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfOtherLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Noncontrolling Interest</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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Beginning balance at Dec. 31, 2023</a></td>
<td class="nump">$ 142,835<span></span>
</td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 43,111<span></span>
</td>
<td class="nump">$ 124,633<span></span>
</td>
<td class="num">$ (6,494)<span></span>
</td>
<td class="num">$ (19,250)<span></span>
</td>
<td class="nump">$ 724<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income (loss)</a></td>
<td class="nump">43,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive (loss) income, net of tax:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent', window );">Pension liability adjustment</a></td>
<td class="nump">75<span></span>
</td>
<td class="text">&#160;<span></span>
</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">75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustment</a></td>
<td class="num">(590)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(519)<span></span>
</td>
<td class="num">(71)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Unrealized derivative loss on cash flow hedges</a></td>
<td class="num">(778)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(778)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Purchase of common shares for treasury</a></td>
<td class="num">(4,330)<span></span>
</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">(4,330)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of share withheld for taxes</a></td>
<td class="num">(1,405)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,235)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">3,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance', window );">Investment of noncontrolling interest</a></td>
<td class="nump">374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Ending balance at Sep. 30, 2024</a></td>
<td class="nump">182,436<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">43,385<span></span>
</td>
<td class="nump">167,821<span></span>
</td>
<td class="num">(8,994)<span></span>
</td>
<td class="num">(20,472)<span></span>
</td>
<td class="nump">585<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Beginning balance at Jun. 30, 2024</a></td>
<td class="nump">147,652<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">42,612<span></span>
</td>
<td class="nump">131,916<span></span>
</td>
<td class="num">(6,405)<span></span>
</td>
<td class="num">(21,156)<span></span>
</td>
<td class="nump">574<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income (loss)</a></td>
<td class="nump">35,898<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,905<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="ro">
<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 (loss) income, net of tax:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent', window );">Pension liability adjustment</a></td>
<td class="nump">24<span></span>
</td>
<td class="text">&#160;<span></span>
</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">24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,358<span></span>
</td>
<td class="nump">18<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Unrealized derivative loss on cash flow hedges</a></td>
<td class="num">(698)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(698)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Purchase of common shares for treasury</a></td>
<td class="num">(2,623)<span></span>
</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">(2,623)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of share withheld for taxes</a></td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">788<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">788<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Ending balance at Sep. 30, 2024</a></td>
<td class="nump">182,436<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">43,385<span></span>
</td>
<td class="nump">167,821<span></span>
</td>
<td class="num">(8,994)<span></span>
</td>
<td class="num">(20,472)<span></span>
</td>
<td class="nump">585<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Beginning balance at Dec. 31, 2024</a></td>
<td class="nump">179,014<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">43,550<span></span>
</td>
<td class="nump">167,579<span></span>
</td>
<td class="num">(11,208)<span></span>
</td>
<td class="num">(21,716)<span></span>
</td>
<td class="nump">698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income (loss)</a></td>
<td class="nump">5,047<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(82)<span></span>
</td>
</tr>
<tr class="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 (loss) income, net of tax:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,529<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,352<span></span>
</td>
<td class="nump">177<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Unrealized derivative loss on cash flow hedges</a></td>
<td class="num">(351)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(351)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Purchase of common shares for treasury</a></td>
<td class="num">(11,159)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,159)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of share withheld for taxes</a></td>
<td class="num">(1,903)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,467)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,564<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">3,417<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,417<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Ending balance at Sep. 30, 2025</a></td>
<td class="nump">175,594<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">43,500<span></span>
</td>
<td class="nump">172,708<span></span>
</td>
<td class="num">(20,803)<span></span>
</td>
<td class="num">(20,715)<span></span>
</td>
<td class="nump">793<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Beginning balance at Jun. 30, 2025</a></td>
<td class="nump">175,241<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">42,325<span></span>
</td>
<td class="nump">168,354<span></span>
</td>
<td class="num">(16,213)<span></span>
</td>
<td class="num">(20,135)<span></span>
</td>
<td class="nump">799<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income (loss)</a></td>
<td class="nump">4,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,354<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(29)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive (loss) income, net of tax:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustment</a></td>
<td class="num">(513)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(536)<span></span>
</td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Unrealized derivative loss on cash flow hedges</a></td>
<td class="num">(44)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(44)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Purchase of common shares for treasury</a></td>
<td class="num">(4,720)<span></span>
</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">(4,720)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of share withheld for taxes</a></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(131)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,306<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,306<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Ending balance at Sep. 30, 2025</a></td>
<td class="nump">$ 175,594<span></span>
</td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 43,500<span></span>
</td>
<td class="nump">$ 172,708<span></span>
</td>
<td class="num">$ (20,803)<span></span>
</td>
<td class="num">$ (20,715)<span></span>
</td>
<td class="nump">$ 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_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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-23<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent.</p></div>
<a href="javascript: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 (j)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 4: 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 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, attributable to parent 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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript: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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 20: 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 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 22: 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 23: 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 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)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: 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 28: 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 29: 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 30: 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 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)(4)(i))<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 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 33: http://www.xbrl.org/2003/role/disclosureRef<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 34: http://www.xbrl.org/2003/role/disclosureRef<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 35: http://www.xbrl.org/2003/role/disclosureRef<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 36: 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 37: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 38: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 39: 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 40: 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 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript: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 (a)<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_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: 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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 10: 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 11: 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 (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 12: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 13: 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)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 14: 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 (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 15: 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 (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 30: 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 (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 31: 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 (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 35: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 42: 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 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 45: 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 46: 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 47: 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 48: 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 49: 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 50: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 51: 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 52: 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 53: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 54: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 55: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 56: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br><br>Reference 57: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY (Parenthetical) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Purchase of common shares for treasury (in shares)</a></td>
<td class="nump">184,143<span></span>
</td>
<td class="nump">126,688<span></span>
</td>
<td class="nump">461,704<span></span>
</td>
<td class="nump">196,768<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common shares issues net of shares withheld (in shares)</a></td>
<td class="nump">1,315<span></span>
</td>
<td class="nump">1,206<span></span>
</td>
<td class="nump">130,198<span></span>
</td>
<td class="nump">120,387<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_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -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 (a)<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)(1))<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_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Basis of Presentation</a></td>
<td class="text">Basis of Presentation<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three and nine months ended September 30, 2025 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2025. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2024. In this Quarterly Report on Form&#160;10-Q, references to &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; and the &#8220;Company&#8221; refer collectively to L.B. Foster Company and its consolidated subsidiaries. </span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Recently Issued Accounting Standards</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued Accounting Standards Update 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (&#8220;ASU 2023-09&#8221;). ASU 2023-09 requires entities to disclose additional information with respect to the effective tax rate reconciliation and disaggregation of income tax expense and income taxes paid by jurisdiction. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company does not expect the adoption of ASU 2023-09 to have an impact to its consolidated financial condition, results of operations, and cash flows other than its disclosures.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued Accounting Standards Update 2024-03, Income Statement -  Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40) (&#8220;ASU 2024-03&#8221;), which requires entities to provide more detailed disaggregation of expenses in the income statement, focusing on the nature of the expenses rather than their function. The new disclosures will require public business entities to disclose in the notes to the financial statements, at each interim and annual reporting period, specific information about certain costs and expenses, including purchases of inventory, employee compensation, depreciation, and intangible asset amortization included in each expense caption presented on the face of the income statement, and the total amount of an entity's selling expenses. The amendments are effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, and may be applied either prospectively or retrospectively. Early adoption is permitted. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In September 2025, the FASB issued Accounting Standards Update 2025-06, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40) (&#8220;ASU 2025-06&#8221;), which provides targeted improvements related to the accounting for costs incurred in the development of internal-use software. The amendment replaces the previous stage-based model with clearer guidance on capitalization thresholds and implementation costs. The amendments are effective for annual periods beginning after December 15, 2027, and interim reporting periods within those annual reporting periods. Early adoption is permitted as of the beginning of an annual reporting period. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements and related disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480922/205-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481034/205-10-S45-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_SegmentReportingAbstract', window );"><strong>Segment Reporting [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 );">Business Segments</a></td>
<td class="text">Business Segments <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company determines its operating segments based on how the Company's Chief Operating Decision Maker (&#8220;CODM&#8221;), the Company's President and Chief Executive Officer, manages the businesses, including resource allocation and operating decisions. The Company is organized into two operating segments, which represent the individual businesses that are run separately within this operational structure. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Operating segments are evaluated on their segment operating income contribution to the Company&#8217;s consolidated results. The Company considers the aggregation of operating segments into reporting segments based on the nature of offerings, nature of production services, the type or class of customer for products and services, methods used to distribute products and services, and economic and regulatory environment conditions.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company has two reportable segments: Rail, Technologies, and Services (&#8220;Rail&#8221;), and Infrastructure Solutions (&#8220;Infrastructure&#8221;). The Company&#8217;s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the CODM, who uses such information to make decisions </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">about resources to be allocated to the segments, and (c) for which discrete financial information is available. The CODM uses segment operating income to determine resources to allocate to each segment (including personnel and financial resources) during the annual budgeting process. The CODM evaluates segment performance regularly by comparing the segment operating income to the budgeted measure.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Segment operating income includes reportable segment gross profit and direct expenses such as salaries, benefits, restructuring, research and development, professional and purchased services expenditures, amortization expense, bad debt expense, and other segment expenses. Additionally, segment operating income includes allocated corporate operating expenses associated with central services such as quality, logistics, environmental health and safety, information technology, insurance, and human resources. Other corporate functional costs that are associated with the operating segments are also allocated to the segments such as finance, marketing, credit and collections, and treasury functions. Operating expenses related to corporate headquarter functions are allocated to each segment based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. Management believes the allocation of corporate operating expenses provides an accurate presentation of how the segments utilize corporate support activities. This provides the CODM meaningful segment profitability information to support operating decisions and the allocation of resources. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Certain corporate costs are separately managed on a consolidated basis and are not allocated to the operating segments. These corporate costs include public company costs such as listing fees, audit fees, compliance costs, insurance costs, and Board of Directors fees. Additionally, certain corporate executive management costs, including costs of the corporate executive leadership team, and corporate management stock-based compensation expenses are not allocated to the operating segments. Finally, interest expense, income taxes, and certain other items included in &#8220;Other income - net&#8221;, which are managed on a consolidated basis, are not allocated to the operating segments.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company&#8217;s reportable segments were as follows for the periods presented:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></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:34.177%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.048%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></div></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less:</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><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(60,042)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(47,178)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(107,220)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(61,027)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(43,681)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(104,708)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative employment costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(7,900)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6,086)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(13,986)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(8,475)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6,030)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(14,505)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchased services </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,787)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,608)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,395)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,841)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,584)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,425)</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"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">General administrative costs </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,765)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,184)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,949)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,378)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,261)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,639)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(399)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(694)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(844)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(302)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,146)</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,895&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,147&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,042&#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="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,933&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,110&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,043&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reconciliation of segment operating income</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></div></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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,042&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,043&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,254)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,358)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">96&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">188&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,162)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,327)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(175)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(839)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(672)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(339)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other corporate expenses - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">262&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(215)</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></div></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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,137&#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="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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,153&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.</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:34.177%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.048%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></div></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less:</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><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(162,869)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(134,650)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(297,519)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(192,798)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(120,337)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(313,135)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative employment costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(22,536)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(17,552)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(40,088)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(24,083)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(17,874)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(41,957)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchased services </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,120)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(4,239)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(9,359)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,590)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(4,684)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(10,274)</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"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">General administrative costs </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(5,707)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,052)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(9,759)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(5,524)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,649)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(9,173)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,758)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(898)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,656)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,508)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(978)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,486)</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,786&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,469&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,255&#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="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,212&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,345&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,557&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="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="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></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reconciliation of segment operating income</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></div></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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,255&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,557&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gain on sale of former joint venture facility</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,477&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,887)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,976)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">509&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">525&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,633)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,167)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,123)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,131)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,711)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,818)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other corporate expenses - 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">262&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(457)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></div></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:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,672&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;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:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,010&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 30, 2024, the Company sold a former joint venture facility located in Magnolia, Texas, generating a $3,477 gain on sale recorded in &#8220;Gain on sale of former joint venture facility&#8221; which is included as a component of corporate operating income.</span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Reconciliations of reportable depreciation and amortization and expenditures for long-lived assets to the Company&#8217;s consolidated totals are as follows for the periods presented: </span></div><div><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><td style="width:45.308%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">793&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">350&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,202&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,147&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,654&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,050&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,817&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,669&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,447&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,400&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,019&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,816&#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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">521&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">409&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">467&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">251&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,968&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,809&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,486&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,067&#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><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.308%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,874&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,578&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,765&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,098&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,545&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,594&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,100&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,972&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,950&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,172&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,865&#160;</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,530&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,107&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,390&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">969&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,502&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,057&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,562&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,834&#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><span><br/></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's total assets by reportable segment for the following periods:</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:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">148,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">158,859&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">130,964&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">123,755&#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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">279,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">282,614&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">54,179&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">51,936&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">333,889&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">334,550&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On June 21, 2022, the Company acquired the stock of Skratch Enterprises Ltd. for $7,402, which was inclusive of deferred payments withheld by the Company of $1,228, to be paid over the next five years or utilized to satisfy post-closing working capital adjustments or indemnity claims under the purchase agreement. During the nine months ended September 30, 2025, the Company made a deferred acquisition payment of $782.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"><br/>During the nine months ended September 30, 2025, the Company announced the discontinuation of its Automation and Materials Handling product line (&#8220;AMH Exit&#8221;) which was reported in the Technology Services and Solutions business unit within the Rail segment. The decision to exit was due to the Company's initiatives to scale back businesses in the United Kingdom. The Company expects to complete any remaining customer obligations by the end of 2025. This product line had net sales of $530 and $907 for the three months ended September 30, 2025 and 2024, respectively, and $1,750 and $4,230 for the nine months ended September 30, 2025 and 2024, respectively. During the nine months ended September 30, 2025, the Company incurred a total of $1,351 in exit costs associated with the AMH Exit, which included $655 in inventory and fixed asset write-downs, $507 in personnel expenses, and $189 in other exit costs. Exit costs of $1,085 were recorded in &#8220;Cost of goods sold&#8221; and $266 were recorded in &#8220;Selling and administrative expenses&#8221; within our Rail segment. The Company does not expect to incur additional material AMH Exit costs in the remainder of 2025.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In August 2024, the Company announced an enterprise restructuring program aligned with its strategy to reduce costs and enable investment in its growth platforms. The restructuring action was completed as of December&#160;31, 2024 and no additional costs are expected to be incurred under this program. As of December&#160;31, 2024, the Company's restructuring liability for this program was $687, all of which has been paid out as of September&#160;30, 2025.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restructuring liability balance and utilization for restructuring actions, which are primarily related to severance costs through September&#160;30, 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><td style="width:87.233%"></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><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.012%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Restructuring Liability</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">687&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Personnel and other exit costs associated with AMH Exit</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Payments </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,150)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">233&#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>On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (&#8220;Bridge Exit&#8221;) which was reported in the Steel Products business unit within Infrastructure. The Bedford, PA based operations supporting the product line expect to complete any remaining customer obligations in 2025. For the three months ended September 30, 2025 and 2024, net sales associated with the product line were $94 and $921, respectively, and for the nine months ended September 30, 2025 and 2024 were $1,093 and $2,888, respectively. The Company does not expect to incur additional material exit costs in 2025.<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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<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 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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 24: 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 25: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s sales by major product and service line for the periods presented:</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:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">44,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">47,442&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">121,517&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">156,803&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Global Friction Management</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,313&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19,548&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,307&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">51,008&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,847&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">12,508&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">28,952&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">39,904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">43,272&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42,688&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">117,650&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">97,730&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,226&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">15,280&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">54,210&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,137&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The majority of the Company&#8217;s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by the timing of the transfer of goods and services was as follows for the periods presented:</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:58.066%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">65,152&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">39,621&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">104,773&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12,636&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,877&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,513&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">62,717&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,462&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">96,179&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16,781&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,506&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">41,287&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#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="text-align:justify"><span><br/></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:58.205%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">176,250&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">109,433&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">285,683&#160;</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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,526&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">62,427&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">93,953&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#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><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#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><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#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></tr></table></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:58.205%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.681%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">198,179&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">98,246&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">296,425&#160;</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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">49,536&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">56,621&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">106,157&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#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><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#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><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">The Company&#8217;s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts the Company&#8217;s performance to date under the terms of the contract. Revenue under these long-term agreements may also be recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%">Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract.  As a result of management's reviews of contract-related estimates the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. During the three months ended September 30, 2025, reductions to net sales stemming from changes in actual and expected values of certain commercial contracts and settlements of such contracts were $1,476; there were no changes in actual or expected values during the three months ended September 30, 2024. During the nine months ended September 30, 2025 and 2024, such adjustments to net sales were $3,123 and $1,477, respectively. The Company&#8217;s estimates related to these long-term agreements are further described in &#8220;Note 3. Revenue&#8221; of the Notes to the Company&#8217;s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December&#160;31, 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized over time was as follows for the periods presented:</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:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">15,020&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10.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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">27,345&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">26,267&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.1&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,513&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">41,287&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24.3&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">30.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"><tr><td style="width:1.0%"></td><td style="width:45.139%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.496%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.852%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.357%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.852%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.357%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.852%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.357%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.438%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended  September 30,</span></div></td></tr><tr><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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,795&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42,259&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5.5&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10.5&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">73,158&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">63,898&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">15.9&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">93,953&#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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">106,157&#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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24.8&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">26.4&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in &#8220;Contract assets - net&#8221;), and billings in excess of costs (contract liabilities), included in &#8220;Deferred revenue&#8221; within the Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s contract assets:</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:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Contract Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16,720&#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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized but not yet billed </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,831&#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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to contract assets </span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,123)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Transfers from contract asset balance to accounts receivable </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(8,485)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,943&#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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s contract liabilities:</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:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Contract Liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,991&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized from contract liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,419)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Increase in billings in excess of cost, excluding revenue recognized </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">937&#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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September&#160;30, 2025</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,509&#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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of September&#160;30, 2025, the Company had approximately $247,416 of remaining performance obligations, which is also referred to as backlog. Approximately 8.0% of the September&#160;30, 2025 backlog was related to projects that are anticipated to extend beyond September&#160;30, 2026.</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 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<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 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<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 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<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 (a)<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 (b)<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 (c)<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 (d)<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 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 10: 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 11: 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>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.3</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 Other Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 Other Intangible Assets</a></td>
<td class="text">Goodwill and Other Intangible Assets<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill balance by reportable segment for the period presented:</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:58.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,231&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,676&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,907&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,085&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,085&#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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,316&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,676&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,992&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which includes the impacts of current economic conditions, including but not limited to concerns related to inflation, tariffs, labor markets, supply chains, and changes in trade policy. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of September&#160;30, 2025. However, future impairment charges could result if future projections diverge unfavorably from current expectations.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the components of the Company&#8217;s intangible assets for the periods presented:</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:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30, 2025</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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">319&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(207)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">112&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">28,721&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(21,951)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,051&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,682)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">2,369&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,806&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(30,033)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(173)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">154&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="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="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 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,224&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(58,046)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12,178&#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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></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:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">308&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(198)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">28,006&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(19,958)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,048&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,974&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,219)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,755&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,616&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(28,923)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,693&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(132)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">195&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">69,231&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(54,430)</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,801&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_AccountsReceivableAdditionalDisclosuresAbstract', window );"><strong>Accounts Receivable Additional 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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Accounts Receivable</a></td>
<td class="text">Accounts Receivable<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Changes in reserves for uncollectible accounts are recorded as part of &#8220;Selling and administrative expenses&#8221; in the Condensed Consolidated Statements of Operations and are recorded net of recoveries of previous write-offs. During the three months ended September 30, 2025 and 2024, the Company recorded a net benefit of $74 and $0, respectively, and during the nine months ended September 30, 2025 and 2024 recorded a net expense of $444 and $529, respectively. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company established the allowance for credit losses by calculating the amount to reserve based on the age of a given trade receivable and considering historical collection patterns, bad debt expense experience, expected future trends of collections, current and expected market conditions, and any other relevant subjective adjustments as needed. Management maintains high-quality credit review practices and positive customer relationships that mitigate credit risks. The Company&#8217;s reserves are regularly reviewed and revised as necessary.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s allowance for credit losses:</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:85.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.818%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Allowance for Credit Losses</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,127&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">909&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Write-off against allowance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(129)</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries of previous write-offs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(465)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,442&#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><tr><td colspan="3" 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></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_AccountsReceivableAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsReceivableAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 );">Inventory</a></td>
<td class="text">Inventory<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Inventory is valued at average cost or net realizable value, whichever is lower. The Company&#8217;s components of inventory are summarized in the following table for the periods presented:</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:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,655&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">37,238&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,717&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">26,361&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">26,551&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories - net</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">69,563&#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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,506&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 and Related Matters<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_DebtDisclosureTextBlock', window );">Long-Term Debt and Related Matters</a></td>
<td class="text">Long-Term Debt and Related Matters<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following:</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:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">58,122&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">46,467&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases and financing agreements</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">473&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">58,722&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">46,940&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less current maturities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(167)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(167)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Long-term portion</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">58,555&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">46,773&#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="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;27, 2025, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#8220;Borrowers&#8221;), entered into the Fifth Amended and Restated Credit Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a participant. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, which had a maximum credit line of  $130,000 and extends the maturity date from August 13, 2026 to June&#160;27, 2030. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $150,000 with sublimits for (a) the issuance of Letters of Credit in Dollars and in Alternative Currencies in an amount not to exceed the Dollar Equivalent of $30,000, and (b) borrowings of Swing Loans in Dollars in an amount not to exceed $20,000; and with an incremental loan feature not to exceed $60,000. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s obligations under the Credit Agreement are secured by the grant of a security interest by the Borrowers in substantially all of the assets owned by such entities. Additionally, the equity interests in each of the loan parties, other than the Company, and the equity interests held by each loan party in their subsidiaries, have been pledged to the lenders as collateral for the lending obligations.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement will bear interest at rates based upon either the base rate or Term SOFR rate plus applicable margins. Applicable margins are dictated by the ratio of the Company&#8217;s total net indebtedness to the Company&#8217;s consolidated EBITDA for four trailing quarters, as defined in the Credit Agreement. The base rate is the highest of (a) the Overnight Bank Funding Rate plus 0.50%, (b) the Prime Rate, or (c) the Daily Simple SOFR rate plus 1.00% so long as the Daily Simple SOFR rate is offered, ascertainable and not unlawful (each as defined in the Credit Agreement). The base rate and Term SOFR rate spreads range from 0.25% to 1.50% and 1.25% to 2.50%, respectively.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#8217;s Consolidated Indebtedness divided by the Company&#8217;s Consolidated EBITDA, which must not exceed (i) 3.50 to 1.00 for all testing periods other than during an Acquisition Period, and (ii) 4.00 to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company&#8217;s Consolidated EBITDA divided by the Company&#8217;s Fixed Charges, which must be more than 1.10 to 1.00. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of September&#160;30, 2025, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $770.</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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: 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 5: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<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/2147477092/405-40-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<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/2147477092/405-40-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br><br>Reference 13: 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><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> -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 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<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 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<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 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<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 (b)<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 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<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 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<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 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 Common Share<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 Common Share</a></td>
<td class="text">Earnings Per Common Share<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">(Share amounts in thousands)</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted earnings per common share for the periods indicated:</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:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted earnings per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,354&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,905&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,129&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">43,188&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,356&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,718&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,757&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,356&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,718&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,444&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,757&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive securities:</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></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock compensation plans</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">524&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">274&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">479&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">302&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive potential common shares</span></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">524&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">274&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">479&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">302&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,880&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,992&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,923&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,059&#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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.42&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.35&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.49&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.01&#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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.40&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.27&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.47&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.91&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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></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>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September 30, 2025 and 2024, the Company recorded an income tax expense of $2,812 and an income tax benefit of $29,745, respectively, on pre-tax income of $7,137 and $6,153, respectively, for an effective income tax rate of 39.4% and (483.4%), respectively. For the nine months ended September 30, 2025 and 2024, the Company recorded an income tax expense of $5,625 and an income tax benefit of $29,110, respectively, on pre-tax income of $10,672 and $14,010, respectively, for an effective income tax rate of 52.7% and (207.8)%, respectively. The Company's effective income tax rate for the three and nine months ended September 30, 2025 differed from the federal statutory rate of 21% primarily due to the impact of pre-tax losses in the United Kingdom, for which no income tax benefit was recognized due to a valuation allowance. The Company's effective income tax rate for the three and nine months ended September 30, 2024 differed from the federal statutory rate of 21% primarily due to a $30,045 income tax benefit resulting from the change in valuation allowance previously recorded against certain U.S. federal and state deferred taxes. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, also impact the effective income tax rate each quarter.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On July 4, 2025, the One Big Beautiful Bill Act (&#8220;OBBBA&#8221;) was enacted in the United States. The OBBBA includes various tax provisions such as the permanent extension of certain expiring provisions of the Tax Cuts and Jobs Act, modifications to the international tax framework and the restoration of favorable tax treatment for certain business provisions. The impacts of the tax provisions included in the OBBBA are reflected in our results for the quarter ended September&#160;30, 2025, and did not have a material impact on the Company's Condensed Consolidated Financial Statements. The Company will continue to monitor any developments and guidance related to the OBBBA.</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 942<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477617/942-740-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478822/944-740-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 );">Stock-Based Compensation</a></td>
<td class="text">Stock-Based Compensation<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded stock-based compensation expense of $1,306 and $788 for the three months ended September 30, 2025 and 2024, respectively, and $3,417 and $3,135 for the nine months ended September 30, 2025 and 2024, respectively, related to restricted stock awards and performance unit awards. As of September&#160;30, 2025, unrecognized compensation expense for awards that the Company expects to vest approximated $6,186. The Company will recognize this unrecognized compensation expense over a weighted average 1.7 years through February 20, 2028.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On May 22, 2025, the shareholders approved the new 2025 Equity and Incentive Compensation Plan (the &#8220;Equity and Incentive Compensation Plan&#8221;). As of September&#160;30, 2025, the Company had stock awards issued pursuant to the Equity and Incentive Compensation Plan and its predecessor, the 2006 Omnibus Incentive Compensation Plan (the &#8220;Omnibus Plan&#8221;). No stock options are outstanding under the Omnibus Plan or the Equity and Incentive Compensation Plan and, as such, there was no stock-based compensation expense related to stock options recorded for the three and nine months ended September 30, 2025 and 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-Employee Director Restricted Stock Awards and Fully-Vested Stock</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Since May 2018, non-employee directors have been awarded shares of the Company&#8217;s common stock on each date the non-employee directors were elected at the annual shareholders&#8217; meeting to serve as directors, subject to a one-year vesting requirement. The Deferred Compensation Plan for Non-Employee Directors under the Omnibus Plan and, by amendment, under the Equity and Incentive Compensation Plan, which permits non-employee directors of the Company to defer receipt of earned cash and/or stock compensation for service on the Board into deferred stock units. Under the terms of the 2025 Equity and Incentive Compensation Plan, a non-employee Board member may elect to receive fully vested stock in lieu of quarterly cash compensation.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock and Performance-Based Stock and Share Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Under the Equity and Incentive Compensation Plan and Omnibus Plan, the Company grants certain employees restricted stock and performance-based stock and share units. The forfeitable restricted stock awards granted generally time-vest ratably over a three-year period, unless indicated otherwise by the underlying restricted stock award agreement. Performance unit awards are offered annually under separate three-year long-term incentive programs, unless indicated otherwise by the underlying performance unit award agreement. Performance units are subject to forfeiture and will be converted into common stock based upon the Company&#8217;s performance relative to performance measures and conversion multiples as defined in the underlying program.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:</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:63.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Restricted<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Performance-Based Stock<br/>and Share Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">203,552&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">534,521&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16.31&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">118,473&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">127,033&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">18.65&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(111,840)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(88,641)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">17.26&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled and forfeited</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,669)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(45,524)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13.21&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,516&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">527,389&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16.65&#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_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/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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<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/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 5: 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 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 (h)(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_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>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text">Fair Value Measurements<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the fair value of assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants. The fair values are based on assumptions that market participants would use when pricing an asset or liability, including assumptions about risk and the risks inherent in valuation techniques and the inputs to valuations. The fair value hierarchy is based on whether the inputs to valuation techniques are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company&#8217;s own assumptions of what market participants would use. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1:</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> Quoted market prices in active markets for identical assets or liabilities.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2:</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3:</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> Unobservable inputs that are not corroborated by market data.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">SOFR-based interest rate swaps</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> -&#160;To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into forward-starting SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000 effective August&#160;12, 2022 and August&#160;31, 2022, respectively. The August 12, 2022 interest rate swap expired on March 1, 2025. The August 31, 2022 interest rate swap expires on August 13, 2026. The fair value of the interest rate swaps are based on market-observable forward interest rates and represents the estimated amount that the Company would pay to terminate the agreements. As such, the swap agreements are classified as Level&#160;2 within the fair value hierarchy. As of September&#160;30, 2025 and December&#160;31, 2024, the interest rate swaps were recorded in &#8220;Other current assets&#8221; when the interest rate swaps&#8217; fair market value are in an asset position, and &#8220;Other accrued liabilities&#8221; when in a liability position within our Condensed Consolidated Balance Sheets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></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:20.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.350%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<br/>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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',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></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The $20,000 interest rate swap agreements that became effective August 2022 are accounted for as cash flow hedges and the objective of the hedges is to offset the expected interest variability on payments associated with the interest rate on our debt. The gains and losses related to the interest rate swaps are reclassified from &#8220;Accumulated other comprehensive loss&#8221; in our Condensed Consolidated Balance Sheets and included in &#8220;Interest expense - net&#8221; in our Condensed Consolidated Statements of Operations as the interest expense from our debt is recognized.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September&#160;30, 2025 and 2024, the Company recognized interest income of $56 and $340, respectively, from interest rate swaps. For the nine months ended September 30, 2025 and 2024, the Company recognized interest income of $331 and $1,017 respectively, from interest rate swaps.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 107<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-107<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> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2E<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 940<br> -SubTopic 820<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478119/940-820-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_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Retirement Plans</a></td>
<td class="text">Retirement Plans<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company has two defined contribution retirement plans that cover its hourly and salaried employees in the United States. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#8217;s contributions to the defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (&#8220;ERISA&#8221;) and the Company&#8217;s policy and investment guidelines applicable to each respective plan. The Company&#8217;s policy is to contribute at least the minimum in accordance with the funding standards of ERISA. The Company maintains one defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains two defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On May 23, 2024, the Company's Board of Directors approved the termination of the frozen L.B. Foster Company Merged Retirement Plan (the &#8220;US DB Plan&#8221;) and the Portec Rail Products (UK) Limited Pension Scheme (the &#8220;UK DB Plan&#8221;). At such time, the Company notified all plan participants of the Company's intentions to terminate and fully settle the obligations. During the fourth quarter of 2024, the Company completed the termination of the US DB Plan.  In January 2025, the Company entered into an insurance  buy-in contract with a third party insurer which resulted in an exchange of plan assets of the UK DB Plan for an annuity that covers our future projected benefit obligations. The Company expects the buy out of the plan and transfer of future benefit obligations of plan participants to be completed in early 2026. The Company does not expect to make any further contributions to the UK DB Plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">United Kingdom Defined Benefit Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</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:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">65&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">192&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(87)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(95)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(257)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(285)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service costs and transition amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">18&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(24)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(13)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(72)</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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Defined Contribution Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company sponsors five defined contribution plans for hourly and salaried employees across its domestic and international facilities. The following table summarizes the expense associated with the contributions made to these plans for the periods presented:</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:51.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">743&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">698&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,201&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,968&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Canada</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">140&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">149&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">341&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">304&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">877&#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:0 1pt"></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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,121&#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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,041&#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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,286&#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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,994&#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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480126/715-20-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingent Liabilities<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingent Liabilities</a></td>
<td class="text">Commitments and Contingent Liabilities<div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Product Liability Claims</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Union Pacific Railroad (&#8220;UPRR&#8221;) Concrete Tie Matter</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On March 13, 2019, the Company and its subsidiary, CXT Incorporated (&#8220;CXT&#8221;), entered into a Settlement Agreement (the &#8220;Settlement Agreement&#8221;) with UPRR to resolve the then-pending litigation in the matter of </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">, Case No. CI 15-564, in the District Court for Douglas County, Nebraska. Under the Settlement Agreement, the Company and CXT agreed to pay UPRR the aggregate amount of $50,000 without pre-judgment interest, which began with a $2,000 immediate payment, and with the remaining $48,000 paid in installments over a six-year period commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. As of December&#160;31, 2024 the UPRR Settlement Agreement has been fully paid and UPRR's purchase obligations under this Agreement have been satisfied.</span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Environmental and Legal Proceedings</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company&#8217;s efforts to comply with environmental regulations may have an adverse effect on its future earnings.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%">On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (&#8220;EPA&#8221;) indicating that the Company may be a potentially responsible party (&#8220;PRP&#8221;) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than 140 other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $1.1 billion and $1.7 billion respectively, and the remedial work is expected to take as long as 13 years to complete. Other estimates indicate that these costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost 100 PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994.  On March 26, 2020, the EPA issued a Unilateral Administrative Order to two parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. On December 2, 2024, the Company and many other PRPs received a Special Notice Letter ("SNL") from the EPA regarding a formal initiation of negotiations for the investigation and cleanup of the Portland Harbor Superfund Site and requesting a "good faith offer" from certain PRPs as to remediation and reimbursement of costs within 120 days, which, if accepted, would lead to a formal Consent Decree which may not be entered under the EPA's proposed schedule until fall of 2026 or by March 2027.  The deadline for a response was extended to May 30, 2025, and the Company responded, along with other similarly-situated parties, in a timely manner.  The Company cannot predict the ultimate impact of these proceedings and the SNLs because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company&#8217;s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of September&#160;30, 2025 and December&#160;31, 2024, the Company maintained reserves of  $1,590 and $1,796, respectively, for all of its environmental liabilities.</span></div><div style="margin-bottom:3pt"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Other Legal Matters</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management&#8217;s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company&#8217;s financial position or liquidity as of September&#160;30, 2025.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company&#8217;s assessment as of September&#160;30, 2025, no such disclosures were considered necessary.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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>Sep. 30, 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>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text">The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three and nine months ended September 30, 2025 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2025. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2024. In this Quarterly Report on Form&#160;10-Q, references to &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; and the &#8220;Company&#8221; refer collectively to L.B. Foster Company and its consolidated subsidiaries.<span></span>
</td>
</tr>
<tr class="re">
<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 );">Recently Issued Accounting Standards</a></td>
<td class="text"><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Recently Issued Accounting Standards</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued Accounting Standards Update 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (&#8220;ASU 2023-09&#8221;). ASU 2023-09 requires entities to disclose additional information with respect to the effective tax rate reconciliation and disaggregation of income tax expense and income taxes paid by jurisdiction. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company does not expect the adoption of ASU 2023-09 to have an impact to its consolidated financial condition, results of operations, and cash flows other than its disclosures.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued Accounting Standards Update 2024-03, Income Statement -  Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40) (&#8220;ASU 2024-03&#8221;), which requires entities to provide more detailed disaggregation of expenses in the income statement, focusing on the nature of the expenses rather than their function. The new disclosures will require public business entities to disclose in the notes to the financial statements, at each interim and annual reporting period, specific information about certain costs and expenses, including purchases of inventory, employee compensation, depreciation, and intangible asset amortization included in each expense caption presented on the face of the income statement, and the total amount of an entity's selling expenses. The amendments are effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, and may be applied either prospectively or retrospectively. Early adoption is permitted. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In September 2025, the FASB issued Accounting Standards Update 2025-06, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40) (&#8220;ASU 2025-06&#8221;), which provides targeted improvements related to the accounting for costs incurred in the development of internal-use software. The amendment replaces the previous stage-based model with clearer guidance on capitalization thresholds and implementation costs. The amendments are effective for annual periods beginning after December 15, 2027, and interim reporting periods within those annual reporting periods. Early adoption is permitted as of the beginning of an annual reporting period. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements and related disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-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_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_SegmentReportingAbstract', window );"><strong>Segment Reporting [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 );">Schedule of Segment Reporting Information, by Segment</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company&#8217;s reportable segments were as follows for the periods presented:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></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:34.177%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.048%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></div></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less:</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><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(60,042)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(47,178)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(107,220)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(61,027)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(43,681)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(104,708)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative employment costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(7,900)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6,086)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(13,986)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(8,475)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6,030)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(14,505)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchased services </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,787)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,608)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,395)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,841)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,584)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,425)</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"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">General administrative costs </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,765)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,184)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,949)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,378)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,261)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,639)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(399)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(694)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(844)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(302)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,146)</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,895&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,147&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,042&#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="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,933&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,110&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,043&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reconciliation of segment operating income</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></div></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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,042&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,043&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,254)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,358)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">96&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">188&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,162)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,327)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(175)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(839)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(672)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(339)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other corporate expenses - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">262&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(215)</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></div></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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,137&#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="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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,153&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.</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:34.177%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.038%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.048%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></div></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less:</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><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(162,869)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(134,650)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(297,519)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(192,798)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(120,337)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(313,135)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Selling and administrative employment costs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(22,536)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(17,552)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(40,088)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(24,083)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(17,874)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(41,957)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Purchased services </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,120)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(4,239)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(9,359)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,590)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(4,684)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(10,274)</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"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">General administrative costs </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(5,707)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,052)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(9,759)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(5,524)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,649)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(9,173)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,758)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(898)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,656)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,508)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(978)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,486)</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating income</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,786&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,469&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,255&#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="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,212&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,345&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,557&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="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="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></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reconciliation of segment operating income</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></div></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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,255&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,557&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Gain on sale of former joint venture facility</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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="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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,477&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,887)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3,976)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">509&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">525&#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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Public company costs</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,633)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,167)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate executive management costs</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,123)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(4,131)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate management stock-based compensation</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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,711)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,818)</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other corporate expenses - 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">262&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(457)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></div></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:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,672&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;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:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,010&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.</span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Reconciliations of reportable depreciation and amortization and expenditures for long-lived assets to the Company&#8217;s consolidated totals are as follows for the periods presented: </span></div><div><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><td style="width:45.308%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">793&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">350&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,202&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,147&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,654&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,050&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,817&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,669&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,447&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,400&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,019&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,816&#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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">521&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">409&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">467&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">251&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,968&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,809&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,486&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,067&#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><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.308%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.745%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation/Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Expenditures for Long-Lived Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,874&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,578&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,765&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,098&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,545&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,594&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,100&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></div></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,972&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,950&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,172&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,865&#160;</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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,530&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,107&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,390&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">969&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,502&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,057&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,562&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,834&#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><span><br/></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's total assets by reportable segment for the following periods:</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:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">148,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">158,859&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">130,964&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">123,755&#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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Reportable segments total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">279,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">282,614&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">54,179&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">51,936&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">333,889&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">334,550&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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 );">Schedule of Restructuring Reserve</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restructuring liability balance and utilization for restructuring actions, which are primarily related to severance costs through September&#160;30, 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><td style="width:87.233%"></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><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.012%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Restructuring Liability</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">687&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Personnel and other exit costs associated with AMH Exit</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Payments </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,150)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">233&#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>
</table>
<div style="display: none;">
<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>
<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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock', window );">Schedule of Sales by Major Product Line</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s sales by major product and service line for the periods presented:</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:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">44,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">47,442&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">121,517&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">156,803&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Global Friction Management</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,313&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19,548&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,307&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">51,008&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,847&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">12,508&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">28,952&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">39,904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">43,272&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42,688&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">117,650&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">97,730&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,226&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">15,280&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">54,210&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,137&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display: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_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Disaggregation of Revenue</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by the timing of the transfer of goods and services was as follows for the periods presented:</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:58.066%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">65,152&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">39,621&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">104,773&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12,636&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,877&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,513&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">77,788&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">60,498&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,286&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">62,717&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,462&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">96,179&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16,781&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24,506&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">41,287&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79,498&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57,968&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">137,466&#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="text-align:justify"><span><br/></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:58.205%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">176,250&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">109,433&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">285,683&#160;</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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,526&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">62,427&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">93,953&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,776&#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><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171,860&#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><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">379,636&#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></tr></table></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:58.205%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.681%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Point in time</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">198,179&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">98,246&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">296,425&#160;</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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">49,536&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">56,621&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">106,157&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</span></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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,715&#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><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">154,867&#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><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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">402,582&#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="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized over time was as follows for the periods presented:</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:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">15,020&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10.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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">27,345&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">26,267&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.1&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,513&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">41,287&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24.3&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">30.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"><tr><td style="width:1.0%"></td><td style="width:45.139%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.496%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.852%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.357%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.852%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.357%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.852%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.357%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.438%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended  September 30,</span></div></td></tr><tr><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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time input method</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,795&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42,259&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5.5&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10.5&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Over time output method</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">73,158&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">63,898&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">19.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">15.9&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total over time sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">93,953&#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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">106,157&#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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24.8&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">26.4&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">%</span></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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Contract with Customer, Contract Asset, Contract Liability</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s contract assets:</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:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Contract Assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16,720&#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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized but not yet billed </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,831&#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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to contract assets </span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,123)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Transfers from contract asset balance to accounts receivable </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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(8,485)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,943&#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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s contract liabilities:</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:84.872%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Contract Liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,991&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized from contract liabilities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(1,419)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Increase in billings in excess of cost, excluding revenue recognized </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">937&#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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September&#160;30, 2025</span></div></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,509&#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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 summarizing sales by major product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 Other Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 Goodwill</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill balance by reportable segment for the period presented:</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:58.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Rail, Technologies, and Services</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Infrastructure Solutions</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,231&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,676&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">31,907&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,085&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,085&#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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,316&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,676&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,992&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the components of the Company&#8217;s intangible assets for the periods presented:</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:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30, 2025</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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">319&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(207)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">112&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">28,721&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(21,951)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,051&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,682)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">2,369&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,806&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(30,033)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(173)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">154&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="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="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 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,224&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(58,046)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12,178&#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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></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:45.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Amortization<br/>Period In Years</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Gross<br/>Carrying<br/>Value</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Accumulated<br/>Amortization</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Net<br/>Carrying<br/>Amount</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">308&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(198)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">28,006&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(19,958)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,048&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,974&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,219)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,755&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">32,616&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(28,923)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,693&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">(132)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">195&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">69,231&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(54,430)</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">14,801&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<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> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<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)<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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_AccountsReceivableAdditionalDisclosuresAbstract', window );"><strong>Accounts Receivable Additional 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_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of Accounts Receivable, Allowance for Credit Loss</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s allowance for credit losses:</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:85.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.818%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Allowance for Credit Losses</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,127&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">909&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Write-off against allowance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(129)</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries of previous write-offs</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(465)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of September 30, 2025</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,442&#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><tr><td colspan="3" 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></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_AccountsReceivableAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsReceivableAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss 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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="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>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 Inventory</a></td>
<td class="text">The Company&#8217;s components of inventory are summarized in the following table for the periods presented:<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:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,655&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">37,238&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">6,717&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">26,361&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">26,551&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories - net</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">69,563&#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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,506&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 210<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>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 and Related Matters (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Long-term Debt Instruments</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following:</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:75.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">58,122&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">46,467&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases and financing agreements</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">473&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">58,722&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">46,940&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Less current maturities</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(167)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(167)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Long-term portion</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">58,555&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">46,773&#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_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<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 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 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 7: 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 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-50-3<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-8<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-6<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-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_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 Common Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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 Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted earnings per common share for the periods indicated:</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:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted earnings per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,354&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">35,905&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,129&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">43,188&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,356&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,718&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,757&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,356&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,718&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,444&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,757&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive securities:</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></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock compensation plans</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">524&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">274&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">479&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">302&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive potential common shares</span></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">524&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">274&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">479&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">302&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,880&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,992&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">10,923&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,059&#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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.42&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.35&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.49&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4.01&#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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.40&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.27&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.47&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3.91&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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></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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_ScheduleOfNonvestedShareActivityTableTextBlock', window );">Schedule of Nonvested Share Activity</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:</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:63.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.013%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Restricted<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Performance-Based Stock<br/>and Share Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Weighted Average<br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">203,552&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">534,521&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16.31&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">118,473&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">127,033&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">18.65&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(111,840)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(88,641)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">17.26&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled and forfeited</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(2,669)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(45,524)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13.21&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of September 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">207,516&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">527,389&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">16.65&#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_ScheduleOfNonvestedShareActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outstanding nonvested shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(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_ScheduleOfNonvestedShareActivityTableTextBlock</td>
</tr>
<tr>
<td style="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>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis</a></td>
<td class="text"><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:20.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.483%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.622%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.511%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.372%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.350%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Fair Value Measurements at Reporting Date</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">September 30,<br/>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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 1</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',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></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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">79&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">430&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display: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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<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/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="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>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 30, 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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock', window );">Schedule of Net Benefit Costs</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs were as follows for the periods presented:</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:51.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">65&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">57&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">192&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(87)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(95)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(257)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(285)</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service costs and transition amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">18&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">24&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(3)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(24)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(13)</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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(72)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock', window );">Schedule of Costs of Retirement Plans</a></td>
<td class="text">The following table summarizes the expense associated with the contributions made to these plans for the periods presented:<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:51.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>September 30,</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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">2024</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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">743&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">698&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,201&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,968&#160;</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Canada</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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">140&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">149&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">341&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">304&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">877&#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:0 1pt"></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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,121&#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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,041&#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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,286&#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:'Times New Roman',serif;font-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,994&#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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the costs related to the various types of retirement plans including defined benefit pension plan cost, defined contribution plan cost, other postretirement benefit plan cost, and net periodic benefit cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Subparagraph (h)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNetBenefitCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Narrative (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 21, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2025 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2025 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Sep. 30, 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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of former joint venture facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 3,477<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Deferred payment for Skratch acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">782<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">138,286<span></span>
</td>
<td class="nump">137,466<span></span>
</td>
<td class="nump">379,636<span></span>
</td>
<td class="nump">402,582<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">655<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring reserve</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 687<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringPlanAxis=fstr_AutomationAndMaterialsHandlingMember', window );">AMH</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,351<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_InventoryAndFixedAssetWriteDown', window );">Inventory and fixed asset write-down</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">655<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_fstr_PersonnelExpenses', window );">Personnel expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">507<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_fstr_OtherExitCosts', window );">Other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">189<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_RestructuringPlanAxis=fstr_AutomationAndMaterialsHandlingMember', window );">AMH | Automation and Materials Handling Line</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">530<span></span>
</td>
<td class="nump">907<span></span>
</td>
<td class="nump">1,750<span></span>
</td>
<td class="nump">4,230<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_RestructuringCostAndReserveAxis=fstr_August2024RestructuringMember', window );">August 2024 Restructuring</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Restructuring reserve</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">$ 687<span></span>
</td>
</tr>
<tr class="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=fstr_SkratchEnterprisesLtdMember', window );">Skratch acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Payments to acquire businesses</a></td>
<td class="nump">$ 7,402<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Business combination, deferred consideration</a></td>
<td class="nump">$ 1,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm', window );">Business combination, term for payment of deferred consideration</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Deferred payment for Skratch acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">782<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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Goods Sold | AMH</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,085<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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling and Administrative Expenses | AMH</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember', window );">Discontinued Operations | Bridge Grid Deck Product</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 94<span></span>
</td>
<td class="nump">$ 921<span></span>
</td>
<td class="nump">1,093<span></span>
</td>
<td class="nump">2,888<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=fstr_CorporateAndReconcilingItemsMember', window );">Corporate And Reconciling Items</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of former joint venture facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 3,477<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_fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Payment Of Deferred Consideration, Term</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_fstr_InventoryAndFixedAssetWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventory And Fixed Asset Write-Down</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_InventoryAndFixedAssetWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_OtherExitCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Exit Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_OtherExitCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_PersonnelExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Personnel Expenses</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_PersonnelExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-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_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset acquired in excess of (less than) liability assumed in business combination and recognized at acquisition date. Excludes goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<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/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_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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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/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_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-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_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_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after 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> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -SubTopic 10<br> -Topic 230<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_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<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://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 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 (a)<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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 9: 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 10: 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringPlanAxis=fstr_AutomationAndMaterialsHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringPlanAxis=fstr_AutomationAndMaterialsHandlingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fstr_AutomationAndMaterialsHandlingLineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fstr_AutomationAndMaterialsHandlingLineMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_August2024RestructuringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_August2024RestructuringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_SkratchEnterprisesLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_SkratchEnterprisesLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=fstr_BridgeGridDeckProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=fstr_BridgeGridDeckProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_CorporateAndReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=fstr_CorporateAndReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Schedule of Reconciliation of Operating Income to Income Before Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 138,286<span></span>
</td>
<td class="nump">$ 137,466<span></span>
</td>
<td class="nump">$ 379,636<span></span>
</td>
<td class="nump">$ 402,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_OperatingExpensesAbstract', window );"><strong>Less:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of sales</a></td>
<td class="num">(107,220)<span></span>
</td>
<td class="num">(104,708)<span></span>
</td>
<td class="num">(297,519)<span></span>
</td>
<td class="num">(313,135)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentForAmortization', window );">Amortization expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,656)<span></span>
</td>
<td class="num">(3,486)<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 );">Operating income</a></td>
<td class="nump">8,295<span></span>
</td>
<td class="nump">7,323<span></span>
</td>
<td class="nump">14,050<span></span>
</td>
<td class="nump">17,461<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of former joint venture facility</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,477<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest expense - net</a></td>
<td class="num">(1,254)<span></span>
</td>
<td class="num">(1,358)<span></span>
</td>
<td class="num">(3,887)<span></span>
</td>
<td class="num">(3,976)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income - net</a></td>
<td class="nump">96<span></span>
</td>
<td class="nump">188<span></span>
</td>
<td class="nump">509<span></span>
</td>
<td class="nump">525<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">7,137<span></span>
</td>
<td class="nump">6,153<span></span>
</td>
<td class="nump">10,672<span></span>
</td>
<td class="nump">14,010<span></span>
</td>
</tr>
<tr class="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=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">77,788<span></span>
</td>
<td class="nump">79,498<span></span>
</td>
<td class="nump">207,776<span></span>
</td>
<td class="nump">247,715<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">60,498<span></span>
</td>
<td class="nump">57,968<span></span>
</td>
<td class="nump">171,860<span></span>
</td>
<td class="nump">154,867<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">138,286<span></span>
</td>
<td class="nump">137,466<span></span>
</td>
<td class="nump">379,636<span></span>
</td>
<td class="nump">402,582<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Less:</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_CostOfRevenue', window );">Cost of sales</a></td>
<td class="num">(107,220)<span></span>
</td>
<td class="num">(104,708)<span></span>
</td>
<td class="num">(297,519)<span></span>
</td>
<td class="num">(313,135)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LaborAndRelatedExpense', window );">Selling and administrative employment costs</a></td>
<td class="num">(13,986)<span></span>
</td>
<td class="num">(14,505)<span></span>
</td>
<td class="num">(40,088)<span></span>
</td>
<td class="num">(41,957)<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_fstr_PurchasedServicesExpense', window );">Purchased services</a></td>
<td class="num">(3,395)<span></span>
</td>
<td class="num">(3,425)<span></span>
</td>
<td class="num">(9,359)<span></span>
</td>
<td class="num">(10,274)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General administrative costs</a></td>
<td class="num">(2,949)<span></span>
</td>
<td class="num">(3,639)<span></span>
</td>
<td class="num">(9,759)<span></span>
</td>
<td class="num">(9,173)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentForAmortization', window );">Amortization expense</a></td>
<td class="num">(694)<span></span>
</td>
<td class="num">(1,146)<span></span>
</td>
<td class="num">(2,656)<span></span>
</td>
<td class="num">(3,486)<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 );">Operating income</a></td>
<td class="nump">10,042<span></span>
</td>
<td class="nump">10,043<span></span>
</td>
<td class="nump">20,255<span></span>
</td>
<td class="nump">24,557<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segments | Rail, Technologies, and Services</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">77,788<span></span>
</td>
<td class="nump">79,498<span></span>
</td>
<td class="nump">207,776<span></span>
</td>
<td class="nump">247,715<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Less:</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_CostOfRevenue', window );">Cost of sales</a></td>
<td class="num">(60,042)<span></span>
</td>
<td class="num">(61,027)<span></span>
</td>
<td class="num">(162,869)<span></span>
</td>
<td class="num">(192,798)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LaborAndRelatedExpense', window );">Selling and administrative employment costs</a></td>
<td class="num">(7,900)<span></span>
</td>
<td class="num">(8,475)<span></span>
</td>
<td class="num">(22,536)<span></span>
</td>
<td class="num">(24,083)<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_fstr_PurchasedServicesExpense', window );">Purchased services</a></td>
<td class="num">(1,787)<span></span>
</td>
<td class="num">(1,841)<span></span>
</td>
<td class="num">(5,120)<span></span>
</td>
<td class="num">(5,590)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General administrative costs</a></td>
<td class="num">(1,765)<span></span>
</td>
<td class="num">(2,378)<span></span>
</td>
<td class="num">(5,707)<span></span>
</td>
<td class="num">(5,524)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentForAmortization', window );">Amortization expense</a></td>
<td class="num">(399)<span></span>
</td>
<td class="num">(844)<span></span>
</td>
<td class="num">(1,758)<span></span>
</td>
<td class="num">(2,508)<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 );">Operating income</a></td>
<td class="nump">5,895<span></span>
</td>
<td class="nump">4,933<span></span>
</td>
<td class="nump">9,786<span></span>
</td>
<td class="nump">17,212<span></span>
</td>
</tr>
<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 Solutions</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">60,498<span></span>
</td>
<td class="nump">57,968<span></span>
</td>
<td class="nump">171,860<span></span>
</td>
<td class="nump">154,867<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Less:</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_CostOfRevenue', window );">Cost of sales</a></td>
<td class="num">(47,178)<span></span>
</td>
<td class="num">(43,681)<span></span>
</td>
<td class="num">(134,650)<span></span>
</td>
<td class="num">(120,337)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LaborAndRelatedExpense', window );">Selling and administrative employment costs</a></td>
<td class="num">(6,086)<span></span>
</td>
<td class="num">(6,030)<span></span>
</td>
<td class="num">(17,552)<span></span>
</td>
<td class="num">(17,874)<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_fstr_PurchasedServicesExpense', window );">Purchased services</a></td>
<td class="num">(1,608)<span></span>
</td>
<td class="num">(1,584)<span></span>
</td>
<td class="num">(4,239)<span></span>
</td>
<td class="num">(4,684)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General administrative costs</a></td>
<td class="num">(1,184)<span></span>
</td>
<td class="num">(1,261)<span></span>
</td>
<td class="num">(4,052)<span></span>
</td>
<td class="num">(3,649)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentForAmortization', window );">Amortization expense</a></td>
<td class="num">(295)<span></span>
</td>
<td class="num">(302)<span></span>
</td>
<td class="num">(898)<span></span>
</td>
<td class="num">(978)<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 );">Operating income</a></td>
<td class="nump">4,147<span></span>
</td>
<td class="nump">5,110<span></span>
</td>
<td class="nump">10,469<span></span>
</td>
<td class="nump">7,345<span></span>
</td>
</tr>
<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=fstr_CorporateAndReconcilingItemsMember', window );">Corporate And Reconciling Items</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_OperatingExpensesAbstract', window );"><strong>Less:</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_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of former joint venture facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,477<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest expense - net</a></td>
<td class="num">(1,254)<span></span>
</td>
<td class="num">(1,358)<span></span>
</td>
<td class="num">(3,887)<span></span>
</td>
<td class="num">(3,976)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income - net</a></td>
<td class="nump">96<span></span>
</td>
<td class="nump">188<span></span>
</td>
<td class="nump">509<span></span>
</td>
<td class="nump">525<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_fstr_PublicCompanyCosts', window );">Public company costs</a></td>
<td class="num">(1,162)<span></span>
</td>
<td class="num">(1,327)<span></span>
</td>
<td class="num">(3,633)<span></span>
</td>
<td class="num">(4,167)<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_fstr_CorporateExecutiveManagementCosts', window );">Corporate executive management costs</a></td>
<td class="num">(175)<span></span>
</td>
<td class="num">(839)<span></span>
</td>
<td class="num">(1,123)<span></span>
</td>
<td class="num">(4,131)<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_fstr_CorporateManagementStockBasedCompensation', window );">Corporate management stock-based compensation</a></td>
<td class="num">(672)<span></span>
</td>
<td class="num">(339)<span></span>
</td>
<td class="num">(1,711)<span></span>
</td>
<td class="num">(1,818)<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_fstr_OtherCorporateCharges', window );">Other corporate expenses - net</a></td>
<td class="nump">$ 262<span></span>
</td>
<td class="num">$ (215)<span></span>
</td>
<td class="nump">$ 262<span></span>
</td>
<td class="num">$ (457)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_CorporateExecutiveManagementCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Corporate Executive Management Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_CorporateExecutiveManagementCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_CorporateManagementStockBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Corporate Management Stock-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;">fstr_CorporateManagementStockBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_OtherCorporateCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Corporate Charges</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_OtherCorporateCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_PublicCompanyCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Public Company Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_PublicCompanyCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_PurchasedServicesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchased Services 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;">fstr_PurchasedServicesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentForAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives.</p></div>
<a href="javascript: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_AdjustmentForAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/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 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(2))<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 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 9: 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<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)(5))<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 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<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)(iv))<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)(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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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><br>Reference 2: 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(2)(a))<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_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 nonoperating.</p></div>
<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 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 4: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LaborAndRelatedExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee 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 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14)(a))<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_LaborAndRelatedExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/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 6: 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 7: 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 8: 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<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(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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<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://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 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 (a)<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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 9: 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 10: 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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=fstr_RailTechnologiesAndServicesSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_RailTechnologiesAndServicesSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_InfrastructureSolutionsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_InfrastructureSolutionsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=fstr_CorporateAndReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=fstr_CorporateAndReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Schedule of Asset Reportable Segment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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/Amortization</a></td>
<td class="nump">$ 2,968<span></span>
</td>
<td class="nump">$ 3,486<span></span>
</td>
<td class="nump">$ 9,502<span></span>
</td>
<td class="nump">$ 10,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Expenditures for Long-Lived Assets</a></td>
<td class="nump">2,809<span></span>
</td>
<td class="nump">3,067<span></span>
</td>
<td class="nump">8,057<span></span>
</td>
<td class="nump">7,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Assets</a></td>
<td class="nump">333,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">333,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 334,550<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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/Amortization</a></td>
<td class="nump">2,447<span></span>
</td>
<td class="nump">3,019<span></span>
</td>
<td class="nump">7,972<span></span>
</td>
<td class="nump">9,172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Expenditures for Long-Lived Assets</a></td>
<td class="nump">2,400<span></span>
</td>
<td class="nump">2,816<span></span>
</td>
<td class="nump">6,950<span></span>
</td>
<td class="nump">6,865<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Assets</a></td>
<td class="nump">279,710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">279,710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">282,614<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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/Amortization</a></td>
<td class="nump">521<span></span>
</td>
<td class="nump">467<span></span>
</td>
<td class="nump">1,530<span></span>
</td>
<td class="nump">1,390<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Expenditures for Long-Lived Assets</a></td>
<td class="nump">409<span></span>
</td>
<td class="nump">251<span></span>
</td>
<td class="nump">1,107<span></span>
</td>
<td class="nump">969<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Assets</a></td>
<td class="nump">54,179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54,179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51,936<span></span>
</td>
</tr>
<tr class="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=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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/Amortization</a></td>
<td class="nump">793<span></span>
</td>
<td class="nump">1,202<span></span>
</td>
<td class="nump">2,874<span></span>
</td>
<td class="nump">3,578<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Expenditures for Long-Lived Assets</a></td>
<td class="nump">350<span></span>
</td>
<td class="nump">1,147<span></span>
</td>
<td class="nump">1,405<span></span>
</td>
<td class="nump">1,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_Assets', window );">Assets</a></td>
<td class="nump">148,746<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,746<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">158,859<span></span>
</td>
</tr>
<tr class="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=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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/Amortization</a></td>
<td class="nump">1,654<span></span>
</td>
<td class="nump">1,817<span></span>
</td>
<td class="nump">5,098<span></span>
</td>
<td class="nump">5,594<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Expenditures for Long-Lived Assets</a></td>
<td class="nump">2,050<span></span>
</td>
<td class="nump">$ 1,669<span></span>
</td>
<td class="nump">5,545<span></span>
</td>
<td class="nump">$ 5,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Assets</a></td>
<td class="nump">$ 130,964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 130,964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 123,755<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/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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-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 S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-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(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 64<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481620/480-10-55-64<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<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 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: 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 26: 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 27: 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 28: 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 29: 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 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)(i))<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)(4)(iii)(A))<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 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 33: http://www.xbrl.org/2003/role/disclosureRef<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 34: http://www.xbrl.org/2003/role/disclosureRef<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 35: 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 36: 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 37: 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 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-12<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 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 4: 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 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_SegmentExpenditureAdditionToLongLivedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-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_SegmentExpenditureAdditionToLongLivedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=fstr_RailTechnologiesAndServicesSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_RailTechnologiesAndServicesSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_InfrastructureSolutionsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_InfrastructureSolutionsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Schedule of Reconciliation of the Restructuring Liability (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 30, 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_RestructuringReserveRollForward', window );"><strong>Restructuring Liability</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_RestructuringReserve', window );">Balance as of December 31, 2024</a></td>
<td class="nump">$ 687<span></span>
</td>
</tr>
<tr class="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 );">Personnel and other exit costs associated with AMH Exit</a></td>
<td class="nump">696<span></span>
</td>
</tr>
<tr class="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 );">Payments</a></td>
<td class="num">(1,150)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of September 30, 2025</a></td>
<td class="nump">$ 233<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_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_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/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-18<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.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 4: 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 5: 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><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-21<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Schedule of Sales by Major Product Line (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 138,286<span></span>
</td>
<td class="nump">$ 137,466<span></span>
</td>
<td class="nump">$ 379,636<span></span>
</td>
<td class="nump">$ 402,582<span></span>
</td>
</tr>
<tr class="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=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">77,788<span></span>
</td>
<td class="nump">79,498<span></span>
</td>
<td class="nump">207,776<span></span>
</td>
<td class="nump">247,715<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fstr_PrecastConcreteProductsSegmentMember', window );">Precast Concrete Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">43,272<span></span>
</td>
<td class="nump">42,688<span></span>
</td>
<td class="nump">117,650<span></span>
</td>
<td class="nump">97,730<span></span>
</td>
</tr>
<tr class="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=fstr_SteelProductsSegmentMember', window );">Steel Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">17,226<span></span>
</td>
<td class="nump">15,280<span></span>
</td>
<td class="nump">54,210<span></span>
</td>
<td class="nump">57,137<span></span>
</td>
</tr>
<tr class="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=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">60,498<span></span>
</td>
<td class="nump">57,968<span></span>
</td>
<td class="nump">171,860<span></span>
</td>
<td class="nump">154,867<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fstr_RailProductsMember', window );">Rail Products | Rail, Technologies, and Services</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">44,628<span></span>
</td>
<td class="nump">47,442<span></span>
</td>
<td class="nump">121,517<span></span>
</td>
<td class="nump">156,803<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fstr_GlobalFrictionManagementMember', window );">Global Friction Management | Rail, Technologies, and Services</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">21,313<span></span>
</td>
<td class="nump">19,548<span></span>
</td>
<td class="nump">57,307<span></span>
</td>
<td class="nump">51,008<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fstr_RailTechnologiesProductsMember', window );">Technology Services and Solutions | Rail, Technologies, and Services</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 11,847<span></span>
</td>
<td class="nump">$ 12,508<span></span>
</td>
<td class="nump">$ 28,952<span></span>
</td>
<td class="nump">$ 39,904<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 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/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 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 (b)<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 (c)<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 (d)<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 (e)<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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 9: 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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<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://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 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 (a)<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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 9: 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 10: 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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=fstr_RailTechnologiesAndServicesSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_RailTechnologiesAndServicesSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_PrecastConcreteProductsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_PrecastConcreteProductsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_SteelProductsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_SteelProductsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_InfrastructureSolutionsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_InfrastructureSolutionsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fstr_RailProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fstr_RailProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fstr_GlobalFrictionManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fstr_GlobalFrictionManagementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fstr_RailTechnologiesProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fstr_RailTechnologiesProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Schedule of Timing of Transfer (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 138,286<span></span>
</td>
<td class="nump">$ 137,466<span></span>
</td>
<td class="nump">$ 379,636<span></span>
</td>
<td class="nump">$ 402,582<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">104,773<span></span>
</td>
<td class="nump">96,179<span></span>
</td>
<td class="nump">285,683<span></span>
</td>
<td class="nump">296,425<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">33,513<span></span>
</td>
<td class="nump">41,287<span></span>
</td>
<td class="nump">93,953<span></span>
</td>
<td class="nump">106,157<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">77,788<span></span>
</td>
<td class="nump">79,498<span></span>
</td>
<td class="nump">207,776<span></span>
</td>
<td class="nump">247,715<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services | Point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">65,152<span></span>
</td>
<td class="nump">62,717<span></span>
</td>
<td class="nump">176,250<span></span>
</td>
<td class="nump">198,179<span></span>
</td>
</tr>
<tr class="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=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services | Over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">12,636<span></span>
</td>
<td class="nump">16,781<span></span>
</td>
<td class="nump">31,526<span></span>
</td>
<td class="nump">49,536<span></span>
</td>
</tr>
<tr class="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=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">60,498<span></span>
</td>
<td class="nump">57,968<span></span>
</td>
<td class="nump">171,860<span></span>
</td>
<td class="nump">154,867<span></span>
</td>
</tr>
<tr class="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=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions | Point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">39,621<span></span>
</td>
<td class="nump">33,462<span></span>
</td>
<td class="nump">109,433<span></span>
</td>
<td class="nump">98,246<span></span>
</td>
</tr>
<tr class="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=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions | Over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 20,877<span></span>
</td>
<td class="nump">$ 24,506<span></span>
</td>
<td class="nump">$ 62,427<span></span>
</td>
<td class="nump">$ 56,621<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 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/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 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 (b)<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 (c)<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 (d)<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 (e)<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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 9: 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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<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://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 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 (a)<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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 9: 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 10: 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=fstr_RailTechnologiesAndServicesSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_RailTechnologiesAndServicesSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_InfrastructureSolutionsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_InfrastructureSolutionsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>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.3</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 Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice', window );">Reduction in sales due to changes in estimates</a></td>
<td class="nump">$ 1,476<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 3,123<span></span>
</td>
<td class="nump">$ 1,477<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_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Schedule of Over Time Sales (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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</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_fstr_OverTimeSalesAmount', window );">Over time sales, amount</a></td>
<td class="nump">$ 33,513<span></span>
</td>
<td class="nump">$ 41,287<span></span>
</td>
<td class="nump">$ 93,953<span></span>
</td>
<td class="nump">$ 106,157<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_fstr_OverTimeSalesPercent', window );">Over time sales, percentage</a></td>
<td class="nump">24.30%<span></span>
</td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">24.80%<span></span>
</td>
<td class="nump">26.40%<span></span>
</td>
</tr>
<tr class="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=fstr_OverTimeInputMethodMember', window );">Over time input method</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_fstr_OverTimeSalesAmount', window );">Over time sales, amount</a></td>
<td class="nump">$ 6,168<span></span>
</td>
<td class="nump">$ 15,020<span></span>
</td>
<td class="nump">$ 20,795<span></span>
</td>
<td class="nump">$ 42,259<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_fstr_OverTimeSalesPercent', window );">Over time sales, percentage</a></td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">10.90%<span></span>
</td>
<td class="nump">5.50%<span></span>
</td>
<td class="nump">10.50%<span></span>
</td>
</tr>
<tr class="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=fstr_OverTimeOutputMethodMember', window );">Over time output method</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_fstr_OverTimeSalesAmount', window );">Over time sales, amount</a></td>
<td class="nump">$ 27,345<span></span>
</td>
<td class="nump">$ 26,267<span></span>
</td>
<td class="nump">$ 73,158<span></span>
</td>
<td class="nump">$ 63,898<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_fstr_OverTimeSalesPercent', window );">Over time sales, percentage</a></td>
<td class="nump">19.80%<span></span>
</td>
<td class="nump">19.10%<span></span>
</td>
<td class="nump">19.30%<span></span>
</td>
<td class="nump">15.90%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_OverTimeSalesAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Over Time Sales, 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;">fstr_OverTimeSalesAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_OverTimeSalesPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Over Time Sales, Percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_OverTimeSalesPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_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 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/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 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 (b)<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 (c)<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 (d)<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 (e)<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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 9: 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_TimingOfTransferOfGoodOrServiceAxis=fstr_OverTimeInputMethodMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_OverTimeInputMethodMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_OverTimeOutputMethodMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_OverTimeOutputMethodMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Schedule of Contract with Customer, Contract Asset, Contract Liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward', window );"><strong>Contract Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Balance as of December 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,720<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_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled', window );">Revenue recognized but not yet billed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,831<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice', window );">Adjustments to contract assets</a></td>
<td class="num">$ (1,476)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(3,123)<span></span>
</td>
<td class="num">$ (1,477)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable', window );">Transfers from contract asset balance to accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,485)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Balance as of September 30, 2025</a></td>
<td class="nump">7,943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_ContractWithCustomerLiabilityRollForward', window );"><strong>Contract Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Balance as of December 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,991<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from contract liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,419)<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_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts', window );">Increase in billings in excess of cost, excluding revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">937<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of September&#160;30, 2025</a></td>
<td class="nump">$ 1,509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,509<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_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer Asset After Allowance For Credit Loss Current</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer, Asset, Revenue Recognized But Not Yet Billed</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Increase from Cash Receipts</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_ContractWithCustomerLiabilityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ContractWithCustomerLiabilityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetReclassifiedToReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: 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_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript: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 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue - Remaining Performance Obligation (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Sep. 30, 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction</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_RevenueRemainingPerformanceObligation', window );">Revenue remaining performance obligation</a></td>
<td class="nump">$ 247,416<span></span>
</td>
</tr>
<tr class="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=2025-10-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-10-01</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Revenue remaining performance obligation</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation, expected timing of satisfaction, period</a></td>
<td class="text">1 year<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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="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 (a)<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_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining performance obligation to total remaining performance obligation not recognized as revenue.</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 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_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-10-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=2025-10-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 Other Intangible Assets - Schedule of Goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 30, 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</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 );">Goodwill, beginning balance</a></td>
<td class="nump">$ 31,907<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation impact</a></td>
<td class="nump">1,085<span></span>
</td>
</tr>
<tr class="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, ending balance</a></td>
<td class="nump">32,992<span></span>
</td>
</tr>
<tr class="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=fstr_RailTechnologiesAndServicesSegmentMember', window );">Rail, Technologies, and Services</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_GoodwillRollForward', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">20,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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation impact</a></td>
<td class="nump">1,085<span></span>
</td>
</tr>
<tr class="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, ending balance</a></td>
<td class="nump">21,316<span></span>
</td>
</tr>
<tr class="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=fstr_InfrastructureSolutionsSegmentMember', window );">Infrastructure Solutions</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</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 );">Goodwill, beginning balance</a></td>
<td class="nump">11,676<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation impact</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_Goodwill', window );">Goodwill, ending balance</a></td>
<td class="nump">$ 11,676<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 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/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478064/805-740-55-13<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 39<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-39<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 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 7: 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 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 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 10: 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 11: 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 12: 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 13: 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><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-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;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) 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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-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;">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=fstr_RailTechnologiesAndServicesSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_RailTechnologiesAndServicesSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_InfrastructureSolutionsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_InfrastructureSolutionsSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.3</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 Other Intangible Assets - Schedule of Intangible Asset (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 30, 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</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 Value</a></td>
<td class="nump">$ 70,224<span></span>
</td>
<td class="nump">$ 69,231<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">(58,046)<span></span>
</td>
<td class="num">(54,430)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">12,178<span></span>
</td>
<td class="nump">14,801<span></span>
</td>
</tr>
<tr class="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_PatentsMember', window );">Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">319<span></span>
</td>
<td class="nump">308<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(207)<span></span>
</td>
<td class="num">(198)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">112<span></span>
</td>
<td class="nump">110<span></span>
</td>
</tr>
<tr class="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</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 Value</a></td>
<td class="nump">28,721<span></span>
</td>
<td class="nump">28,006<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">(21,951)<span></span>
</td>
<td class="num">(19,958)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">6,770<span></span>
</td>
<td class="nump">8,048<span></span>
</td>
</tr>
<tr class="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_TrademarksAndTradeNamesMember', window );">Trademarks and trade names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">8,051<span></span>
</td>
<td class="nump">7,974<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(5,682)<span></span>
</td>
<td class="num">(5,219)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">2,369<span></span>
</td>
<td class="nump">2,755<span></span>
</td>
</tr>
<tr class="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_TechnologyBasedIntangibleAssetsMember', window );">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</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 Value</a></td>
<td class="nump">32,806<span></span>
</td>
<td class="nump">32,616<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">(30,033)<span></span>
</td>
<td class="num">(28,923)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">2,773<span></span>
</td>
<td class="nump">3,693<span></span>
</td>
</tr>
<tr class="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_OffMarketFavorableLeaseMember', window );">Favorable lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">327<span></span>
</td>
<td class="nump">327<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(173)<span></span>
</td>
<td class="num">(132)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">$ 154<span></span>
</td>
<td class="nump">$ 195<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average | Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Amortization Period In Years</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">10 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_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Amortization Period In Years</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">13 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_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average | Trademarks and trade names</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</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_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Amortization Period In Years</a></td>
<td class="text">13 years<span></span>
</td>
<td class="text">13 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_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average | Technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Amortization Period In Years</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">9 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_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average | Favorable lease</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</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_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Amortization Period In Years</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">6 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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<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> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<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 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 19: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-29<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-29<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 22: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 24: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 26: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 27: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 28: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 29: 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: 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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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/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/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_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_OffMarketFavorableLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_OffMarketFavorableLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_WeightedAverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_WeightedAverageMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_FinancingReceivableAllowanceForCreditLossesLineItems', window );"><strong>Financing Receivable, Allowance for Credit Loss [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Reserve for uncollectible accounts, expense (benefit)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 909<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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, General and Administrative Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems', window );"><strong>Financing Receivable, Allowance for Credit Loss [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Reserve for uncollectible accounts, expense (benefit)</a></td>
<td class="num">$ (74)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 444<span></span>
</td>
<td class="nump">$ 529<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_FinancingReceivableAllowanceForCreditLossesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 4: http://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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<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 (b)<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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph c<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-22<br><br>Reference 3: 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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 - Allowance for Credit Losses (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 30, 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>Allowance for Credit Losses</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 );">Allowance for doubtful accounts, beginning balance</a></td>
<td class="nump">$ 1,127<span></span>
</td>
</tr>
<tr class="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 );">Current period provision</a></td>
<td class="nump">909<span></span>
</td>
</tr>
<tr class="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 );">Write-off against allowance</a></td>
<td class="num">(129)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries', window );">Recoveries of previous write-offs</a></td>
<td class="num">(465)<span></span>
</td>
</tr>
<tr class="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 );">Allowance for doubtful accounts, ending balance</a></td>
<td class="nump">$ 1,442<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/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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 3: 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 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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: 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 6: 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_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_AllowanceForDoubtfulAccountsReceivableRecoveries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 allowance for credit loss on accounts receivable, from recovery.</p></div>
<a href="javascript: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 (e)<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_AllowanceForDoubtfulAccountsReceivableRecoveries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-22<br><br>Reference 3: 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>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventory (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 30, 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_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">$ 35,655<span></span>
</td>
<td class="nump">$ 37,238<span></span>
</td>
</tr>
<tr class="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">7,547<span></span>
</td>
<td class="nump">6,717<span></span>
</td>
</tr>
<tr class="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 materials</a></td>
<td class="nump">26,361<span></span>
</td>
<td class="nump">26,551<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">$ 69,563<span></span>
</td>
<td class="nump">$ 70,506<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>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 and Related Matters - Schedule of Long-term Debt Instruments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 30, 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_DebtDisclosureAbstract', window );"><strong>Debt 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_LineOfCredit', window );">Revolving credit facility</a></td>
<td class="nump">$ 58,122<span></span>
</td>
<td class="nump">$ 46,467<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Finance leases and financing agreements</a></td>
<td class="nump">600<span></span>
</td>
<td class="nump">473<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_DebtAndCapitalLeaseObligations', window );">Total</a></td>
<td class="nump">58,722<span></span>
</td>
<td class="nump">46,940<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Less current maturities</a></td>
<td class="num">(167)<span></span>
</td>
<td class="num">(167)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligations', window );">Long-term portion</a></td>
<td class="nump">$ 58,555<span></span>
</td>
<td class="nump">$ 46,773<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_DebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term and long-term debt and 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> -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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/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_DebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br><br>Reference 2: 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_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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/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)(16)(a)(2))<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_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtAndCapitalLeaseObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 and Related Matters - Narrative (Details)<br></strong></div></th>
<th class="th">
<div>Jun. 27, 2025 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2025 </div>
<div>USD ($) </div>
<div>covenant</div>
</th>
<th class="th">
<div>Jun. 26, 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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Line of credit facility, amount outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 58,122,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 46,467,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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum', window );">Minimum fixed charge coverage ratio</a></td>
<td class="nump">1.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | Overnight Bank Funding Rate</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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument, basis spread on variable rate</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | Daily Simple SOFR</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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument, basis spread on variable rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument, basis spread on variable rate</a></td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument, basis spread on variable rate</a></td>
<td class="nump">1.50%<span></span>
</td>
<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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | SOFR | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument, basis spread on variable rate</a></td>
<td class="nump">1.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | SOFR | 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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument, basis spread on variable rate</a></td>
<td class="nump">2.50%<span></span>
</td>
<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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | Debt Instrument, Redemption, Period One</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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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_fstr_DebtInstrumentNumberOfFinancialCovenants', window );">Number of financial covenants | covenant</a></td>
<td class="text">&#160;<span></span>
</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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_DebtInstrumentCovenantLeverageRatioMaximum', window );">Minimum leverage ratio</a></td>
<td class="nump">3.5<span></span>
</td>
<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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Fifth Amended And Restated Credit Agreement | Debt Instrument, Redemption, Period Two</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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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_fstr_DebtInstrumentCovenantLeverageRatioMaximum', window );">Minimum leverage ratio</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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_LineOfCredit', window );">Line of credit facility, amount outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 770,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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Revolving credit facility | Fifth Amended And Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 150,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 130,000,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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Letter of Credit | Fifth Amended And Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 30,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Swing Loan | Fifth Amended And Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember', window );">PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant | Incremental Loans | Fifth Amended And Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 60,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Covenant, Interest Coverage Ratio, Minimum</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_DebtInstrumentCovenantLeverageRatioMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Covenant, Leverage Ratio, Maximum</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_DebtInstrumentCovenantLeverageRatioMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_DebtInstrumentNumberOfFinancialCovenants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Financial 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;">fstr_DebtInstrumentNumberOfFinancialCovenants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_FifthAmendedAndRestatedCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_FifthAmendedAndRestatedCreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_OvernightBankFundingRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_OvernightBankFundingRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_DailySimpleSOFRMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_DailySimpleSOFRMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=fstr_SwingLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_SwingLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fstr_IncrementalLoansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_IncrementalLoansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</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 Common Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_NetIncomeLossAbstract', window );"><strong>Numerator for basic and diluted earnings per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to L.B. Foster Company</a></td>
<td class="nump">$ 4,354<span></span>
</td>
<td class="nump">$ 35,905<span></span>
</td>
<td class="nump">$ 5,129<span></span>
</td>
<td class="nump">$ 43,188<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic', window );">Weighted average shares outstanding (in shares)</a></td>
<td class="nump">10,356<span></span>
</td>
<td class="nump">10,718<span></span>
</td>
<td class="nump">10,444<span></span>
</td>
<td class="nump">10,757<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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator for basic earnings per common share (in shares)</a></td>
<td class="nump">10,356<span></span>
</td>
<td class="nump">10,718<span></span>
</td>
<td class="nump">10,444<span></span>
</td>
<td class="nump">10,757<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends', window );">Stock compensation plans (in shares)</a></td>
<td class="nump">524<span></span>
</td>
<td class="nump">274<span></span>
</td>
<td class="nump">479<span></span>
</td>
<td class="nump">302<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_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive potential common shares (in shares)</a></td>
<td class="nump">524<span></span>
</td>
<td class="nump">274<span></span>
</td>
<td class="nump">479<span></span>
</td>
<td class="nump">302<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per common share - adjusted weighted average shares outstanding (in shares)</a></td>
<td class="nump">10,880<span></span>
</td>
<td class="nump">10,992<span></span>
</td>
<td class="nump">10,923<span></span>
</td>
<td class="nump">11,059<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per common share (in USD per share)</a></td>
<td class="nump">$ 0.42<span></span>
</td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 0.49<span></span>
</td>
<td class="nump">$ 4.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_EarningsPerShareDiluted', window );">Diluted earnings per common share (in USD per share)</a></td>
<td class="nump">$ 0.40<span></span>
</td>
<td class="nump">$ 3.27<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 3.91<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: 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 10: 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 11: 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 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: 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 19: 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 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 21: 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 22: 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 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 24: 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 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: 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 10: 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 11: 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 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: 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 19: 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 20: 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 21: 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 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 23: 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-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_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional shares included in diluted EPS for potentially dilutive effect of nonvested equity-based payment award containing forfeitable rights to dividends or dividend equivalents, whether paid or unpaid.</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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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 4: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 68B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-68B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<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)(i))<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<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 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 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 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: 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 18: 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 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: 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 21: 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 22: 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 23: 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 24: 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 25: 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 26: 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 27: 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 28: 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 29: 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: 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 36: 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 37: 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 38: http://www.xbrl.org/2003/role/disclosureRef<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 39: http://www.xbrl.org/2003/role/disclosureRef<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 40: http://www.xbrl.org/2003/role/disclosureRef<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 41: http://www.xbrl.org/2003/role/disclosureRef<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 42: http://www.xbrl.org/2003/role/disclosureRef<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 43: 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 44: 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 45: 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 46: 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 47: 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 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: 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_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</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_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic).</p></div>
<a href="javascript: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 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 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_WeightedAverageNumberOfSharesIssuedBasic</td>
</tr>
<tr>
<td style="padding-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>64
<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.3</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 (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Income tax expense (benefit)</a></td>
<td class="nump">$ 2,812<span></span>
</td>
<td class="num">$ (29,745)<span></span>
</td>
<td class="nump">$ 5,625<span></span>
</td>
<td class="num">$ (29,110)<span></span>
</td>
</tr>
<tr class="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 income taxes</a></td>
<td class="nump">$ 7,137<span></span>
</td>
<td class="nump">$ 6,153<span></span>
</td>
<td class="nump">$ 10,672<span></span>
</td>
<td class="nump">$ 14,010<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rate</a></td>
<td class="nump">39.40%<span></span>
</td>
<td class="num">(483.40%)<span></span>
</td>
<td class="nump">52.70%<span></span>
</td>
<td class="num">(207.80%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Discrete tax benefit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,045<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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_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/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<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 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 11: 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 12: 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 13: 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: 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 16: 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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 1,306<span></span>
</td>
<td class="nump">$ 788<span></span>
</td>
<td class="nump">$ 3,417<span></span>
</td>
<td class="nump">$ 3,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Expected cost on shares expected to vest</a></td>
<td class="nump">6,186<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,186<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period for compensation expense not yet recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 8 months 12 days<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=fstr_OmnibusPlanAndEquityAndIncentivePlanMember', window );">Omnibus Plan and Equity and Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</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_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of stock options outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="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_TitleOfIndividualAxis=srt_DirectorMember', window );">Director</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance-Based Stock and Share Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<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 (f)(2)(iii)<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 (f)(2)(iv)<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 (f)(2)(ii)<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 (l)<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 (a)(1)<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 (d)(1)<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 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 11: 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 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 (a)(2)<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 (a)(3)<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)(1)(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)(1)(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)(1)(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)(1)(iv)<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)(1)(iv)(01)<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)(1)(iv)(02)<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 (c)(1)(iv)(03)<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 (c)(1)(iv)(04)<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 (c)(2)(i)<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 (c)(2)(ii)<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 (c)(2)(iii)<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 (c)(2)(iii)(01)<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 (c)(2)(iii)(02)<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 (c)(2)(iii)(03)<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 (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 29: http://www.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 30: http://www.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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fstr_OmnibusPlanAndEquityAndIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=fstr_OmnibusPlanAndEquityAndIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 30, 2025 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average share price, beginning balance (in USD per share) | $ / shares</a></td>
<td class="nump">$ 16.31<span></span>
</td>
</tr>
<tr class="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 shares granted (in USD per share) | $ / shares</a></td>
<td class="nump">18.65<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average shares vested (in USD per share) | $ / shares</a></td>
<td class="nump">17.26<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, cancelled and forfeited (in USD per share) | $ / shares</a></td>
<td class="nump">13.21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average share price, ending balance (in USD per share) | $ / shares</a></td>
<td class="nump">$ 16.65<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock and Performance Share Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, beginning balance (in shares)</a></td>
<td class="nump">203,552<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">118,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(111,840)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Cancelled and forfeited (in shares)</a></td>
<td class="num">(2,669)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, ending balance (in shares)</a></td>
<td class="nump">207,516<span></span>
</td>
</tr>
<tr class="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-Based Stock and Share Units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock and Performance Share Units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, beginning balance (in shares)</a></td>
<td class="nump">534,521<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">127,033<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(88,641)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Cancelled and forfeited (in shares)</a></td>
<td class="num">(45,524)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, ending balance (in shares)</a></td>
<td class="nump">527,389<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Aug. 31, 2022</div></th>
<th class="th"><div>Aug. 12, 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_DerivativeInstrumentRiskAxis=us-gaap_SwapMember', window );">Swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions</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_DerivativeNotionalAmount', window );">Derivative, notional amount</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">$ 20,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_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">$ 56<span></span>
</td>
<td class="nump">$ 340<span></span>
</td>
<td class="nump">$ 331<span></span>
</td>
<td class="nump">$ 1,017<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_DerivativeInstrumentRiskAxis=fstr_Swap2Member', window );">Swap 2</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions</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_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</p></div>
<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 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 181<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-181<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1B<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<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/2147482907/825-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-10<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 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeInstrumentRiskAxis=us-gaap_SwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_SwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=fstr_Swap2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=fstr_Swap2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 30, 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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions</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_DerivativeAssets', window );">Interest rate swaps</a></td>
<td class="nump">$ 79<span></span>
</td>
<td class="nump">$ 430<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_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">430<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions</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_DerivativeAssets', window );">Interest rate swaps</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AssetsFairValueDisclosure', window );">Total assets</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_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions</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_DerivativeAssets', window );">Interest rate swaps</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">430<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_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">430<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions</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_DerivativeAssets', window );">Interest rate swaps</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AssetsFairValueDisclosure', window );">Total 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_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion 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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-7A<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-10<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<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 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<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 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-12<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-22<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-21<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-20<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-15<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-10<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483466/210-20-50-3<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 103<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-103<br><br>Reference 17: 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> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-12<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477439/946-210-55-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<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/2147478795/946-210-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<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/2147478795/946-210-50-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<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/2147478795/946-210-50-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 32: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 33: 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(3)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5C<br> -Subparagraph (SX 210.12-13C(Column H)(Footnote 7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5C<br><br>Reference 35: 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(3)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SX 210.12-13(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5C<br> -Subparagraph (SX 210.12-13C(Column H))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5C<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5A<br> -Subparagraph (SX 210.12-13A(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5B<br> -Subparagraph (SX 210.12-13B(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5B<br> -Subparagraph (SX 210.12-13B(Column E)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<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/2147482907/825-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-10<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 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>69
<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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans - Narrative (Details)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 30, 2025 </div>
<div>plan</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</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_fstr_NumberOfDefinedContributionPlans', window );">Number of defined contribution plans</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=country_US', window );">United States</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</strong></a></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_fstr_NumberOfDefinedContributionPlans', window );">Number of defined contribution plans</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=country_CA', window );">Canada</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</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_fstr_NumberOfDefinedContributionPlans', window );">Number of defined contribution plans</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=country_GB', window );">United Kingdom</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</strong></a></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_fstr_NumberOfDefinedContributionPlans', window );">Number of defined contribution plans</a></td>
<td class="nump">2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_NumberOfDefinedContributionPlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Defined Contribution Plans</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_NumberOfDefinedContributionPlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-50-5<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-50-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (c)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (c)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (m)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-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_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanSponsorLocationAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RetirementPlanSponsorLocationAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RetirementPlanSponsorLocationAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>70
<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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans - Schedule of Net Benefit Costs (Details) - United Kingdom - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">$ 65<span></span>
</td>
<td class="nump">$ 57<span></span>
</td>
<td class="nump">$ 192<span></span>
</td>
<td class="nump">$ 171<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets', window );">Expected return on plan assets</a></td>
<td class="num">(87)<span></span>
</td>
<td class="num">(95)<span></span>
</td>
<td class="num">(257)<span></span>
</td>
<td class="num">(285)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit', window );">Amortization of prior service costs and transition amount</a></td>
<td class="nump">7<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">19<span></span>
</td>
<td class="nump">18<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses', window );">Recognized net actuarial loss</a></td>
<td class="nump">12<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Net periodic pension income</a></td>
<td class="num">$ (3)<span></span>
</td>
<td class="num">$ (24)<span></span>
</td>
<td class="num">$ (13)<span></span>
</td>
<td class="num">$ (72)<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_DefinedBenefitPlanAmortizationOfGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (j)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-50-5<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-50-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (c)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (c)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (m)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-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_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expected return (loss) recognized in net periodic benefit (cost) credit, calculated based on expected long-term rate of return and market-related value of plan assets of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost recognized for passage of time related to defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanInterestCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of net periodic benefit cost (credit) for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanSponsorLocationAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>71
<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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans - Schedule of Costs of Retirement Plans (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Sep. 30, 2025</div></th>
<th class="th"><div>Sep. 30, 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_DefinedContributionPlanDisclosureLineItems', window );"><strong>Defined Contribution Plan Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Expenses associated with contributions made</a></td>
<td class="nump">$ 1,121<span></span>
</td>
<td class="nump">$ 1,041<span></span>
</td>
<td class="nump">$ 3,286<span></span>
</td>
<td class="nump">$ 2,994<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=country_US', window );">United States</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_DefinedContributionPlanDisclosureLineItems', window );"><strong>Defined Contribution Plan Disclosure</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_DefinedContributionPlanCostRecognized', window );">Expenses associated with contributions made</a></td>
<td class="nump">743<span></span>
</td>
<td class="nump">698<span></span>
</td>
<td class="nump">2,201<span></span>
</td>
<td class="nump">1,968<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=country_CA', window );">Canada</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_DefinedContributionPlanDisclosureLineItems', window );"><strong>Defined Contribution Plan Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Expenses associated with contributions made</a></td>
<td class="nump">37<span></span>
</td>
<td class="nump">39<span></span>
</td>
<td class="nump">140<span></span>
</td>
<td class="nump">149<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=country_GB', window );">United Kingdom</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_DefinedContributionPlanDisclosureLineItems', window );"><strong>Defined Contribution Plan Disclosure</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_DefinedContributionPlanCostRecognized', window );">Expenses associated with contributions made</a></td>
<td class="nump">$ 341<span></span>
</td>
<td class="nump">$ 304<span></span>
</td>
<td class="nump">$ 945<span></span>
</td>
<td class="nump">$ 877<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_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-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_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedContributionPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-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_DefinedContributionPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanSponsorLocationAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RetirementPlanSponsorLocationAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RetirementPlanSponsorLocationAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingent Liabilities (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 13, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2025 </div>
<div>USD ($) </div>
<div>party</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 26, 2020 </div>
<div>party</div>
</th>
<th class="th">
<div>Jun. 05, 2017 </div>
<div>company</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter', window );">Number of companies that received a general notice letter (company) | company</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">140<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_fstr_PresentValueOfProposedRemedialWork', window );">Present value of remedial work</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_UndiscoveredRemedialWork', window );">Undiscovered remedial work</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_RemedialWorkAnticipatedCleanUpPeriod', window );">Anticipated clean period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">13 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement', window );">Number of potentially responsible parties included in agreement | party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_NumberOfPartiesRequiredToPerformRemedialWork', window );">Number of parties required to perform remedial design work | party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccrualForEnvironmentalLossContingencies', window );">Accrual for environmental loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,590<span></span>
</td>
<td class="nump">$ 1,796<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fstr_UPRRMember', window );">UPRR</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_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency</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_LitigationSettlementAmountAwardedToOtherParty', window );">Litigation settlement amount</a></td>
<td class="nump">$ 50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent', window );">Litigation settlement amount, current</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent', window );">Litigation settlement amount, non-current</a></td>
<td class="nump">$ 48<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fstr_LitigationSettlementInstallmentPaymentTerm', window );">Payment period</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Litigation Settlement, Amount Awarded To Other Party, Current</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Litigation Settlement, Amount Awarded To Other Party, Non-Current</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_LitigationSettlementInstallmentPaymentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Litigation Settlement Installment Payment Term</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_LitigationSettlementInstallmentPaymentTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Companies Receiving General Notice Letter</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_NumberOfCompaniesReceivingGeneralNoticeLetter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_fstr_NumberOfPartiesRequiredToPerformRemedialWork">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Parties Required To Perform Remedial Work</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_NumberOfPartiesRequiredToPerformRemedialWork</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Potentially Responsible Parties Included In Agreement</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_fstr_PresentValueOfProposedRemedialWork">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Proposed Remedial Work</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_PresentValueOfProposedRemedialWork</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fstr_RemedialWorkAnticipatedCleanUpPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remedial Work Anticipated Clean Up 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;">fstr_RemedialWorkAnticipatedCleanUpPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</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_fstr_UndiscoveredRemedialWork">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Undiscovered Remedial Work</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_UndiscoveredRemedialWork</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fstr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccrualForEnvironmentalLossContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs accrued as of the balance sheet date for environmental loss contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 410<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481931/410-30-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 410<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481931/410-30-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 410<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481899/410-30-55-16<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 410<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481931/410-30-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_AccrualForEnvironmentalLossContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LitigationSettlementAmountAwardedToOtherParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount awarded to other party in judgment or settlement of litigation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationSettlementAmountAwardedToOtherParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductLiabilityContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-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_ProductLiabilityContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_MajorCustomersAxis=fstr_UPRRMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fstr_UPRRMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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>74
<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>76
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>264</ContextCount>
  <ElementCount>260</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>64</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>9952151 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>9952152 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>9952153 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>9952154 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>9952155 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>9952156 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>9952157 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>9952158 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>9952159 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BasisofPresentation</Role>
      <ShortName>Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>9952160 - Disclosure - Business Segments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegments</Role>
      <ShortName>Business Segments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>9952161 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>9952162 - Disclosure - Goodwill and Other Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets</Role>
      <ShortName>Goodwill and Other Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>9952163 - Disclosure - Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/AccountsReceivable</Role>
      <ShortName>Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>9952164 - Disclosure - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/Inventory</Role>
      <ShortName>Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>9952165 - Disclosure - Long-Term Debt and Related Matters</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/LongTermDebtandRelatedMatters</Role>
      <ShortName>Long-Term Debt and Related Matters</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>9952166 - Disclosure - Earnings Per Common Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/EarningsPerCommonShare</Role>
      <ShortName>Earnings Per Common Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>9952167 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>9952168 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/StockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>9952169 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>9952170 - Disclosure - Retirement Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RetirementPlans</Role>
      <ShortName>Retirement Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>9952171 - Disclosure - Commitments and Contingent Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CommitmentsandContingentLiabilities</Role>
      <ShortName>Commitments and Contingent Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="fstr-20250930.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="fstr-20250930.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.lbfoster.com/role/BasisofPresentationPolicies</Role>
      <ShortName>Basis of Presentation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>9955512 - Disclosure - Business Segments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsTables</Role>
      <ShortName>Business Segments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/BusinessSegments</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>9955513 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/Revenue</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>9955514 - Disclosure - Goodwill and Other Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Other Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>9955515 - Disclosure - Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/AccountsReceivableTables</Role>
      <ShortName>Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/AccountsReceivable</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>9955516 - Disclosure - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/InventoryTables</Role>
      <ShortName>Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/Inventory</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>9955517 - Disclosure - Long-Term Debt and Related Matters (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables</Role>
      <ShortName>Long-Term Debt and Related Matters (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/LongTermDebtandRelatedMatters</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>9955518 - Disclosure - Earnings Per Common Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/EarningsPerCommonShareTables</Role>
      <ShortName>Earnings Per Common Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/EarningsPerCommonShare</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>9955519 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/StockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/StockBasedCompensation</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>9955520 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/FairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/FairValueMeasurements</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>9955521 - Disclosure - Retirement Plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RetirementPlansTables</Role>
      <ShortName>Retirement Plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/RetirementPlans</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>9955522 - Disclosure - Business Segments - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails</Role>
      <ShortName>Business Segments - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>9955523 - Disclosure - Business Segments - Schedule of Reconciliation of Operating Income to Income Before Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails</Role>
      <ShortName>Business Segments - Schedule of Reconciliation of Operating Income to Income Before Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>9955524 - Disclosure - Business Segments - Schedule of Asset Reportable Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails</Role>
      <ShortName>Business Segments - Schedule of Asset Reportable Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>9955525 - Disclosure - Business Segments - Schedule of Reconciliation of the Restructuring Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails</Role>
      <ShortName>Business Segments - Schedule of Reconciliation of the Restructuring Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>9955526 - Disclosure - Revenue - Schedule of Sales by Major Product Line (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails</Role>
      <ShortName>Revenue - Schedule of Sales by Major Product Line (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>9955527 - Disclosure - Revenue - Schedule of Timing of Transfer (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails</Role>
      <ShortName>Revenue - Schedule of Timing of Transfer (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>9955528 - Disclosure - Revenue - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueNarrativeDetails</Role>
      <ShortName>Revenue - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>9955529 - Disclosure - Revenue - Schedule of Over Time Sales (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails</Role>
      <ShortName>Revenue - Schedule of Over Time Sales (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>9955530 - Disclosure - Revenue - Schedule of Contract with Customer, Contract Asset, Contract Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails</Role>
      <ShortName>Revenue - Schedule of Contract with Customer, Contract Asset, Contract Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>9955531 - Disclosure - Revenue - Remaining Performance Obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails</Role>
      <ShortName>Revenue - Remaining Performance Obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>9955532 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails</Role>
      <ShortName>Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>9955533 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails</Role>
      <ShortName>Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>9955534 - Disclosure - Accounts Receivable - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails</Role>
      <ShortName>Accounts Receivable - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>9955535 - Disclosure - Accounts Receivable - Allowance for Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails</Role>
      <ShortName>Accounts Receivable - Allowance for Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>9955536 - Disclosure - Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/InventoryDetails</Role>
      <ShortName>Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/InventoryTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>9955537 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails</Role>
      <ShortName>Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>9955538 - Disclosure - Long-Term Debt and Related Matters - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails</Role>
      <ShortName>Long-Term Debt and Related Matters - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>9955539 - Disclosure - Earnings Per Common Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/EarningsPerCommonShareDetails</Role>
      <ShortName>Earnings Per Common Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/EarningsPerCommonShareTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>9955540 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/IncomeTaxes</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>9955541 - Disclosure - Stock-Based Compensation - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails</Role>
      <ShortName>Stock-Based Compensation - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>9955542 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>9955543 - Disclosure - Fair Value Measurements - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails</Role>
      <ShortName>Fair Value Measurements - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>9955544 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails</Role>
      <ShortName>Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>9955545 - Disclosure - Retirement Plans - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RetirementPlansNarrativeDetails</Role>
      <ShortName>Retirement Plans - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>9955546 - Disclosure - Retirement Plans - Schedule of Net Benefit Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails</Role>
      <ShortName>Retirement Plans - Schedule of Net Benefit Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>9955547 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails</Role>
      <ShortName>Retirement Plans - Schedule of Costs of Retirement Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="fstr-20250930.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>9955548 - Disclosure - Commitments and Contingent Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails</Role>
      <ShortName>Commitments and Contingent Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/CommitmentsandContingentLiabilities</ParentRole>
      <Position>61</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="fstr-20250930.htm">fstr-20250930.htm</File>
    <File>fstr-20250930.xsd</File>
    <File>fstr-20250930_cal.xml</File>
    <File>fstr-20250930_def.xml</File>
    <File>fstr-20250930_lab.xml</File>
    <File>fstr-20250930_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>fstr-20250930_g1.gif</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="910">http://fasb.org/us-gaap/2025</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>79
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "fstr-20250930.htm": {
   "nsprefix": "fstr",
   "nsuri": "http://www.lbfoster.com/20250930",
   "dts": {
    "inline": {
     "local": [
      "fstr-20250930.htm"
     ]
    },
    "schema": {
     "local": [
      "fstr-20250930.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/2024-01-31/types.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-roles-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-roles-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd",
      "https://xbrl.sec.gov/country/2025/country-2025.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd",
      "https://xbrl.sec.gov/stpr/2025/stpr-2025.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "fstr-20250930_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fstr-20250930_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "fstr-20250930_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fstr-20250930_pre.xml"
     ]
    }
   },
   "keyStandard": 231,
   "keyCustom": 29,
   "axisStandard": 26,
   "axisCustom": 0,
   "memberStandard": 40,
   "memberCustom": 24,
   "hidden": {
    "total": 6,
    "http://xbrl.sec.gov/dei/2025": 5,
    "http://fasb.org/us-gaap/2025": 1
   },
   "contextCount": 264,
   "entityCount": 1,
   "segmentCount": 64,
   "elementCount": 550,
   "unitCount": 9,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2025": 910,
    "http://xbrl.sec.gov/dei/2025": 30,
    "http://xbrl.sec.gov/ecd/2025": 4
   },
   "report": {
    "R1": {
     "role": "http://www.lbfoster.com/role/Cover",
     "longName": "0000001 - Document - Cover",
     "shortName": "Cover",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
     "longName": "9952151 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
     "longName": "9952152 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
     "longName": "9952153 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "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": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:GrossProfit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
     "longName": "9952154 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical",
     "longName": "9952155 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
     "longName": "9952156 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DeferredIncomeTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
     "longName": "9952157 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c-16",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-16",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical",
     "longName": "9952158 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.lbfoster.com/role/BasisofPresentation",
     "longName": "9952159 - Disclosure - Basis of Presentation",
     "shortName": "Basis of Presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.lbfoster.com/role/BusinessSegments",
     "longName": "9952160 - Disclosure - Business Segments",
     "shortName": "Business Segments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.lbfoster.com/role/Revenue",
     "longName": "9952161 - Disclosure - Revenue",
     "shortName": "Revenue",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets",
     "longName": "9952162 - Disclosure - Goodwill and Other Intangible Assets",
     "shortName": "Goodwill and Other Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.lbfoster.com/role/AccountsReceivable",
     "longName": "9952163 - Disclosure - Accounts Receivable",
     "shortName": "Accounts Receivable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.lbfoster.com/role/Inventory",
     "longName": "9952164 - Disclosure - Inventory",
     "shortName": "Inventory",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMatters",
     "longName": "9952165 - Disclosure - Long-Term Debt and Related Matters",
     "shortName": "Long-Term Debt and Related Matters",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.lbfoster.com/role/EarningsPerCommonShare",
     "longName": "9952166 - Disclosure - Earnings Per Common Share",
     "shortName": "Earnings Per Common Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.lbfoster.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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.lbfoster.com/role/StockBasedCompensation",
     "longName": "9952168 - Disclosure - Stock-Based Compensation",
     "shortName": "Stock-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.lbfoster.com/role/FairValueMeasurements",
     "longName": "9952169 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.lbfoster.com/role/RetirementPlans",
     "longName": "9952170 - Disclosure - Retirement Plans",
     "shortName": "Retirement Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilities",
     "longName": "9952171 - Disclosure - Commitments and Contingent Liabilities",
     "shortName": "Commitments and Contingent Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "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-13",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.lbfoster.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:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.lbfoster.com/role/BusinessSegmentsTables",
     "longName": "9955512 - Disclosure - Business Segments (Tables)",
     "shortName": "Business Segments (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.lbfoster.com/role/RevenueTables",
     "longName": "9955513 - Disclosure - Revenue (Tables)",
     "shortName": "Revenue (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables",
     "longName": "9955514 - Disclosure - Goodwill and Other Intangible Assets (Tables)",
     "shortName": "Goodwill and Other Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.lbfoster.com/role/AccountsReceivableTables",
     "longName": "9955515 - Disclosure - Accounts Receivable (Tables)",
     "shortName": "Accounts Receivable (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.lbfoster.com/role/InventoryTables",
     "longName": "9955516 - Disclosure - Inventory (Tables)",
     "shortName": "Inventory (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables",
     "longName": "9955517 - Disclosure - Long-Term Debt and Related Matters (Tables)",
     "shortName": "Long-Term Debt and Related Matters (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.lbfoster.com/role/EarningsPerCommonShareTables",
     "longName": "9955518 - Disclosure - Earnings Per Common Share (Tables)",
     "shortName": "Earnings Per Common Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "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": "fstr-20250930.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": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.lbfoster.com/role/StockBasedCompensationTables",
     "longName": "9955519 - Disclosure - Stock-Based Compensation (Tables)",
     "shortName": "Stock-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.lbfoster.com/role/FairValueMeasurementsTables",
     "longName": "9955520 - Disclosure - Fair Value Measurements (Tables)",
     "shortName": "Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.lbfoster.com/role/RetirementPlansTables",
     "longName": "9955521 - Disclosure - Retirement Plans (Tables)",
     "shortName": "Retirement Plans (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
     "longName": "9955522 - Disclosure - Business Segments - Narrative (Details)",
     "shortName": "Business Segments - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "segment",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "segment",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
     "longName": "9955523 - Disclosure - Business Segments - Schedule of Reconciliation of Operating Income to Income Before Taxes (Details)",
     "shortName": "Business Segments - Schedule of Reconciliation of Operating Income to Income Before Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "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": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-78",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
     "longName": "9955524 - Disclosure - Business Segments - Schedule of Asset Reportable Segment (Details)",
     "shortName": "Business Segments - Schedule of Asset Reportable Segment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails",
     "longName": "9955525 - Disclosure - Business Segments - Schedule of Reconciliation of the Restructuring Liability (Details)",
     "shortName": "Business Segments - Schedule of Reconciliation of the Restructuring Liability (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c-4",
      "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": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringCharges",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
     "longName": "9955526 - Disclosure - Revenue - Schedule of Sales by Major Product Line (Details)",
     "shortName": "Revenue - Schedule of Sales by Major Product Line (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "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": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-135",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails",
     "longName": "9955527 - Disclosure - Revenue - Schedule of Timing of Transfer (Details)",
     "shortName": "Revenue - Schedule of Timing of Transfer (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "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": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-149",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "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": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.lbfoster.com/role/RevenueNarrativeDetails",
     "longName": "9955528 - Disclosure - Revenue - Narrative (Details)",
     "shortName": "Revenue - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R42": {
     "role": "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails",
     "longName": "9955529 - Disclosure - Revenue - Schedule of Over Time Sales (Details)",
     "shortName": "Revenue - Schedule of Over Time Sales (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "fstr:OverTimeSalesAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "fstr:OverTimeSalesAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails",
     "longName": "9955530 - Disclosure - Revenue - Schedule of Contract with Customer, Contract Asset, Contract Liability (Details)",
     "shortName": "Revenue - Schedule of Contract with Customer, Contract Asset, Contract Liability (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "fstr:ContractWithCustomerAssetRevenueRecognizedButNotYetBilled",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails",
     "longName": "9955531 - Disclosure - Revenue - Remaining Performance Obligation (Details)",
     "shortName": "Revenue - Remaining Performance Obligation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
     "longName": "9955532 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)",
     "shortName": "Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "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": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "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": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails",
     "longName": "9955533 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)",
     "shortName": "Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails",
     "longName": "9955534 - Disclosure - Accounts Receivable - Narrative (Details)",
     "shortName": "Accounts Receivable - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-204",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails",
     "longName": "9955535 - Disclosure - Accounts Receivable - Allowance for Credit Losses (Details)",
     "shortName": "Accounts Receivable - Allowance for Credit Losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.lbfoster.com/role/InventoryDetails",
     "longName": "9955536 - Disclosure - Inventory (Details)",
     "shortName": "Inventory (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails",
     "longName": "9955537 - Disclosure - Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)",
     "shortName": "Long-Term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:LineOfCredit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:FinanceLeaseLiability",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails",
     "longName": "9955538 - Disclosure - Long-Term Debt and Related Matters - Narrative (Details)",
     "shortName": "Long-Term Debt and Related Matters - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:LineOfCredit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-223",
      "name": "fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.lbfoster.com/role/EarningsPerCommonShareDetails",
     "longName": "9955539 - Disclosure - Earnings Per Common Share (Details)",
     "shortName": "Earnings Per Common Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "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": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.lbfoster.com/role/IncomeTaxesDetails",
     "longName": "9955540 - Disclosure - Income Taxes (Details)",
     "shortName": "Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
     "longName": "9955541 - Disclosure - Stock-Based Compensation - Narrative (Details)",
     "shortName": "Stock-Based Compensation - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails",
     "longName": "9955542 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)",
     "shortName": "Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails",
     "longName": "9955543 - Disclosure - Fair Value Measurements - Narrative (Details)",
     "shortName": "Fair Value Measurements - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c-238",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-238",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails",
     "longName": "9955544 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)",
     "shortName": "Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:DerivativeAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:DerivativeAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
     "longName": "9955545 - Disclosure - Retirement Plans - Narrative (Details)",
     "shortName": "Retirement Plans - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "fstr:NumberOfDefinedContributionPlans",
      "unitRef": "plan",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "fstr:NumberOfDefinedContributionPlans",
      "unitRef": "plan",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails",
     "longName": "9955546 - Disclosure - Retirement Plans - Schedule of Net Benefit Costs (Details)",
     "shortName": "Retirement Plans - Schedule of Net Benefit Costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c-253",
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-253",
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
     "longName": "9955547 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details)",
     "shortName": "Retirement Plans - Schedule of Costs of Retirement Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-13",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails",
     "longName": "9955548 - Disclosure - Commitments and Contingent Liabilities (Details)",
     "shortName": "Commitments and Contingent Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c-263",
      "name": "fstr:NumberOfCompaniesReceivingGeneralNoticeLetter",
      "unitRef": "company",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-1",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-263",
      "name": "fstr:NumberOfCompaniesReceivingGeneralNoticeLetter",
      "unitRef": "company",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-1",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fstr-20250930.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsNotesAndLoansReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsNotesAndLoansReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable - net (Note 5)",
        "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of accounts and financing receivables, classified as current. Includes, but is not limited to, notes and loan receivable."
       }
      }
     },
     "auth_ref": [
      "r1155"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "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": [
      "r53",
      "r955"
     ]
    },
    "us-gaap_AccountsReceivableAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsReceivableAdditionalDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable Additional Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accounts Receivable, Allowance for Credit Loss",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1157"
     ]
    },
    "us-gaap_AccrualForEnvironmentalLossContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccrualForEnvironmentalLossContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrual for environmental loss",
        "label": "Accrual for Environmental Loss Contingencies",
        "documentation": "Total costs accrued as of the balance sheet date for environmental loss contingencies."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r876",
      "r1063",
      "r1064",
      "r1190",
      "r1193"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other accrued liabilities",
        "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": [
      "r56"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "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": [
      "r19",
      "r20",
      "r71",
      "r136",
      "r706",
      "r746",
      "r747",
      "r1253"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "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": [
      "r1",
      "r15",
      "r20",
      "r627",
      "r630",
      "r679",
      "r742",
      "r743",
      "r1078",
      "r1079",
      "r1080",
      "r1137",
      "r1138",
      "r1139",
      "r1140"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1013"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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",
      "r955",
      "r1319"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r760",
      "r1137",
      "r1138",
      "r1139",
      "r1140",
      "r1254",
      "r1321"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1026"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1026"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1026"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1026"
     ]
    },
    "us-gaap_AdjustmentForAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentForAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization",
        "negatedTerseLabel": "Amortization expense",
        "label": "Amortization",
        "documentation": "The aggregate amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "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": [
      "r475"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net income to cash used in operating activities:",
        "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1059"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r985",
      "r995",
      "r1005",
      "r1037"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r988",
      "r998",
      "r1008",
      "r1040"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1060"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1026"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1033"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r989",
      "r999",
      "r1009",
      "r1033",
      "r1041",
      "r1045",
      "r1053"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1051"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Allowance for doubtful accounts, beginning balance",
        "periodEndLabel": "Allowance for doubtful accounts, ending balance",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r246",
      "r250",
      "r251",
      "r256",
      "r1285"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Recoveries of previous write-offs",
        "label": "Accounts Receivable, Allowance for Credit Loss, Recovery",
        "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery."
       }
      }
     },
     "auth_ref": [
      "r255"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for Credit Losses",
        "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/2025",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Write-off against allowance",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r254"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r164",
      "r273",
      "r280",
      "r845",
      "r856",
      "r857",
      "r859",
      "r861"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL ASSETS",
        "terseLabel": "Assets",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r111",
      "r135",
      "r173",
      "r176",
      "r177",
      "r209",
      "r216",
      "r234",
      "r238",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r592",
      "r596",
      "r661",
      "r697",
      "r698",
      "r702",
      "r791",
      "r869",
      "r870",
      "r882",
      "r955",
      "r963",
      "r964",
      "r976",
      "r1200",
      "r1201",
      "r1275"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASSETS",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "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": [
      "r129",
      "r140",
      "r173",
      "r176",
      "r177",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r592",
      "r596",
      "r661",
      "r955",
      "r1200",
      "r1201",
      "r1275"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsFairValueDisclosure",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets, Fair Value Disclosure",
        "documentation": "Fair value portion of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r640",
      "r641",
      "r945"
     ]
    },
    "fstr_August2024RestructuringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "August2024RestructuringMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "August 2024 Restructuring",
        "label": "August 2024 Restructuring [Member]",
        "documentation": "August 2024 Restructuring"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_AutomationAndMaterialsHandlingLineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "AutomationAndMaterialsHandlingLineMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Automation and Materials Handling Line",
        "label": "Automation and Materials Handling Line [Member]",
        "documentation": "Automation and Materials Handling Line"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_AutomationAndMaterialsHandlingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "AutomationAndMaterialsHandlingMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "AMH",
        "label": "Automation And Materials Handling [Member]",
        "documentation": "Automation And Materials Handling"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price",
        "label": "Award Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1049"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1044"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1044"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1044"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1044"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1044"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1044"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails",
      "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": [
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Securities",
        "label": "Award Underlying Securities Amount"
       }
      }
     },
     "auth_ref": [
      "r1047"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1046"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1045"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1045"
     ]
    },
    "us-gaap_BaseRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BaseRateMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Base Rate",
        "label": "Base Rate [Member]",
        "documentation": "Minimum rate investor will accept."
       }
      }
     },
     "auth_ref": [
      "r1068",
      "r1199"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/BasisofPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Presentation",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r1129"
     ]
    },
    "fstr_BridgeGridDeckProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "BridgeGridDeckProductMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Bridge Grid Deck Product",
        "label": "Bridge Grid Deck Product [Member]",
        "documentation": "Bridge Grid Deck Product"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combination [Domain]",
        "label": "Business Combination [Domain]",
        "documentation": "Business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r750",
      "r901",
      "r902",
      "r1237",
      "r1239",
      "r1241"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combination [Axis]",
        "label": "Business Combination [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r750",
      "r901",
      "r902",
      "r1237",
      "r1239",
      "r1241"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business combination, deferred consideration",
        "label": "Business Combination, Contingent Consideration, Liability, Noncurrent",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1243",
      "r1244"
     ]
    },
    "fstr_BusinessCombinationPaymentOfDeferredConsiderationTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "BusinessCombinationPaymentOfDeferredConsiderationTerm",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business combination, term for payment of deferred consideration",
        "label": "Business Combination, Payment Of Deferred Consideration, Term",
        "documentation": "Business Combination, Payment Of Deferred Consideration, Term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payments to acquire businesses",
        "label": "Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less)",
        "documentation": "Amount of asset acquired in excess of (less than) liability assumed in business combination and recognized at acquisition date. Excludes goodwill."
       }
      }
     },
     "auth_ref": [
      "r906",
      "r908",
      "r1240",
      "r1242"
     ]
    },
    "us-gaap_BusinessExitCosts1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessExitCosts1",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventory and fixed asset exit costs (Note 2)",
        "terseLabel": "Exit costs",
        "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": [
      "r11"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2025",
     "localname": "CA",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Canada",
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalent",
        "documentation": "Amount of cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r131",
      "r846"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents at beginning of period",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation",
        "documentation": "Amount of cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; attributable to continuing operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r82",
      "r172"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase in cash and cash equivalents",
        "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation",
        "documentation": "Amount of increase (decrease) in cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r82"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1024"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1021"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1019"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "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": [
      "r1025"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1025"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingent Liabilities",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r303",
      "r304",
      "r839",
      "r1185",
      "r1192"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r966",
      "r967",
      "r968",
      "r970",
      "r971",
      "r972",
      "r973",
      "r1137",
      "r1138",
      "r1140",
      "r1254",
      "r1316",
      "r1321"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in USD per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "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": [
      "r61",
      "r779"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "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": [
      "r61"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock, shares outstanding (in shares)",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r61",
      "r779",
      "r797",
      "r1321",
      "r1322"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at September\u00a030, 2025 and December\u00a031, 2024, 11,115,779; shares outstanding at September\u00a030, 2025 and December\u00a031, 2024, 10,247,806 and 10,573,432, respectively",
        "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": [
      "r61",
      "r352",
      "r357",
      "r705",
      "r955"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1030"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1029"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1031"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1028"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income attributable to L.B. Foster Company",
        "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": [
      "r21",
      "r148",
      "r150",
      "r156",
      "r695",
      "r715",
      "r717"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Amounts attributable to noncontrolling interest",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r45",
      "r48",
      "r148",
      "r150",
      "r155",
      "r694",
      "r715",
      "r716"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less comprehensive loss attributable to noncontrolling interest:",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r97",
      "r148",
      "r150",
      "r154",
      "r693",
      "r715"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation Items [Axis]",
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r109",
      "r173",
      "r174",
      "r179",
      "r180",
      "r209",
      "r218",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r238",
      "r239",
      "r240",
      "r312",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r700",
      "r869",
      "r870",
      "r1200",
      "r1201"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation Items [Domain]",
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r109",
      "r173",
      "r174",
      "r179",
      "r180",
      "r209",
      "r218",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r238",
      "r239",
      "r240",
      "r312",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r700",
      "r869",
      "r870",
      "r1200",
      "r1201"
     ]
    },
    "fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract Assets",
        "label": "Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]",
        "documentation": "Contract With Customer Asset After Allowance For Credit Loss Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Contract with Customer, Contract Asset, Contract Liability",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract assets - net (Note 3)",
        "periodStartLabel": "Balance as of December 31, 2024",
        "periodEndLabel": "Balance as of September 30, 2025",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r360",
      "r362",
      "r364",
      "r375"
     ]
    },
    "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetReclassifiedToReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Transfers from contract asset balance to accounts receivable",
        "label": "Contract with Customer, Asset, Reclassified to Receivable",
        "documentation": "Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional."
       }
      }
     },
     "auth_ref": [
      "r885"
     ]
    },
    "fstr_ContractWithCustomerAssetRevenueRecognizedButNotYetBilled": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "ContractWithCustomerAssetRevenueRecognizedButNotYetBilled",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized but not yet billed",
        "label": "Contract With Customer, Asset, Revenue Recognized But Not Yet Billed",
        "documentation": "Contract With Customer, Asset, Revenue Recognized But Not Yet Billed"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance as of December 31, 2024",
        "periodEndLabel": "Balance as of September\u00a030, 2025",
        "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": [
      "r360",
      "r361",
      "r364",
      "r375"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueNarrativeDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Reduction in sales due to changes in estimates",
        "terseLabel": "Adjustments to contract assets",
        "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price",
        "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue (Note 3)",
        "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": [
      "r360",
      "r361",
      "r364",
      "r375"
     ]
    },
    "fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "ContractWithCustomerLiabilityIncreaseFromCashReceipts",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in billings in excess of cost, excluding revenue recognized",
        "label": "Contract with Customer, Liability, Increase from Cash Receipts",
        "documentation": "Contract with Customer, Liability, Increase from Cash Receipts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Revenue recognized from contract liabilities",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "fstr_ContractWithCustomerLiabilityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "ContractWithCustomerLiabilityRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofContractwithCustomerContractAssetContractLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract Liabilities",
        "label": "Contract With Customer Liability [Roll Forward]",
        "documentation": "Contract With Customer Liability"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_CorporateAndReconcilingItemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "CorporateAndReconcilingItemsMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate And Reconciling Items",
        "label": "Corporate And Reconciling Items [Member]",
        "documentation": "Corporate And Reconciling Items"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_CorporateExecutiveManagementCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "CorporateExecutiveManagementCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Corporate executive management costs",
        "label": "Corporate Executive Management Costs",
        "documentation": "Corporate Executive Management Costs"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_CorporateManagementStockBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "CorporateManagementStockBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Corporate management stock-based compensation",
        "label": "Corporate Management Stock-based Compensation",
        "documentation": "Corporate Management Stock-based Compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CorporateNonSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CorporateNonSegmentMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails"
     ],
     "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": [
      "r17",
      "r233",
      "r234",
      "r235",
      "r236",
      "r239",
      "r1149"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total cost of sales",
        "negatedLabel": "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": [
      "r74",
      "r173",
      "r176",
      "r177",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r661",
      "r869",
      "r1200"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of Goods Sold",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": [
      "r943"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "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": [
      "r311",
      "r1197"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "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": [
      "r311",
      "r1197"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "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": [
      "r919",
      "r1171",
      "r1172",
      "r1173",
      "r1174",
      "r1176",
      "r1178",
      "r1180",
      "r1181"
     ]
    },
    "fstr_DailySimpleSOFRMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "DailySimpleSOFRMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Daily Simple SOFR",
        "label": "Daily Simple SOFR [Member]",
        "documentation": "Daily Simple SOFR"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtAndCapitalLeaseObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtAndCapitalLeaseObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Debt and Lease Obligation",
        "documentation": "Amount of short-term and long-term debt and lease obligation."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r102"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMatters"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-Term Debt and Related Matters",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r173",
      "r175",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r310",
      "r311",
      "r323",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r339",
      "r346",
      "r347",
      "r348",
      "r625",
      "r671"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "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": [
      "r18",
      "r55",
      "r56",
      "r101",
      "r102",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r330",
      "r335",
      "r336",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r953",
      "r1130",
      "r1131",
      "r1132",
      "r1136",
      "r1186",
      "r1187",
      "r1188",
      "r1272",
      "r1273",
      "r1283"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, basis spread on variable rate",
        "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": []
    },
    "fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "DebtInstrumentCovenantInterestCoverageRatioMinimum",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum fixed charge coverage ratio",
        "label": "Debt Instrument, Covenant, Interest Coverage Ratio, Minimum",
        "documentation": "Debt Instrument, Covenant, Interest Coverage Ratio, Minimum"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_DebtInstrumentCovenantLeverageRatioMaximum": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "DebtInstrumentCovenantLeverageRatioMaximum",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum leverage ratio",
        "label": "Debt Instrument, Covenant, Leverage Ratio, Maximum",
        "documentation": "Debt Instrument, Covenant, Leverage Ratio, Maximum"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "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": [
      "r18",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r330",
      "r335",
      "r336",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r953",
      "r1130",
      "r1131",
      "r1132",
      "r1136",
      "r1186",
      "r1187",
      "r1188",
      "r1272",
      "r1273",
      "r1283"
     ]
    },
    "fstr_DebtInstrumentNumberOfFinancialCovenants": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "DebtInstrumentNumberOfFinancialCovenants",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of financial covenants",
        "label": "Debt Instrument, Number Of Financial Covenants",
        "documentation": "Debt Instrument, Number Of Financial Covenants"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Redemption, Period [Axis]",
        "label": "Debt Instrument, Redemption, Period [Axis]",
        "documentation": "Information by period of debt redemption feature under terms of debt agreement."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Redemption, Period [Domain]",
        "label": "Debt Instrument, Redemption, Period [Domain]",
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentRedemptionPeriodOneMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Redemption, Period One",
        "label": "Debt Instrument, Redemption, Period One [Member]",
        "documentation": "Period one representing most current period of debt redemption features under terms of the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentRedemptionPeriodTwoMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Redemption, Period Two",
        "label": "Debt Instrument, Redemption, Period Two [Member]",
        "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument term",
        "label": "Debt Instrument, Term",
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets (Note 9)",
        "label": "Deferred Income Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r512",
      "r513"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r115",
      "r1130",
      "r1135"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities (Note 9)",
        "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": [
      "r512",
      "r513",
      "r703"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanAmortizationOfGainsLosses",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Recognized net actuarial loss",
        "label": "Defined Benefit Plan, Amortization of Gain (Loss)",
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r417",
      "r462",
      "r899",
      "r900"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanAmortizationOfPriorServiceCostCredit",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of prior service costs and transition amount",
        "label": "Defined Benefit Plan, Amortization of Prior Service Cost (Credit)",
        "documentation": "Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r418",
      "r463",
      "r899",
      "r900"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Defined Benefit Plan Disclosure",
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r467"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanExpectedReturnOnPlanAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Expected return on plan assets",
        "label": "Defined Benefit Plan, Expected Return (Loss) on Plan Assets",
        "documentation": "Amount of expected return (loss) recognized in net periodic benefit (cost) credit, calculated based on expected long-term rate of return and market-related value of plan assets of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r416",
      "r461",
      "r899",
      "r900"
     ]
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanInterestCost",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest cost",
        "label": "Defined Benefit Plan, Interest Cost",
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r383",
      "r415",
      "r460",
      "r899",
      "r900"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net periodic pension income",
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)",
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r413",
      "r457",
      "r458",
      "r899",
      "r900"
     ]
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedContributionPlanCostRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expenses associated with contributions made",
        "label": "Defined Contribution Plan, Cost",
        "documentation": "Amount of cost for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_DefinedContributionPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedContributionPlanDisclosureLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Contribution Plan Disclosure",
        "label": "Defined Contribution Plan Disclosure [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_DefinedContributionPlanTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedContributionPlanTable",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Contribution Plan [Table]",
        "label": "Defined Contribution Plan [Table]",
        "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r32",
      "r163",
      "r856",
      "r857",
      "r859",
      "r861"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation/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": [
      "r11",
      "r165",
      "r209",
      "r221",
      "r238",
      "r856",
      "r869",
      "r870"
     ]
    },
    "us-gaap_DerivativeAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": {
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate swaps",
        "label": "Derivative Asset",
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r142",
      "r624",
      "r640",
      "r641",
      "r651",
      "r658",
      "r659",
      "r660",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r785",
      "r786",
      "r823",
      "r825",
      "r826",
      "r827",
      "r829",
      "r830",
      "r843",
      "r851",
      "r853",
      "r854",
      "r855",
      "r945",
      "r948",
      "r952",
      "r968",
      "r1257",
      "r1258",
      "r1259",
      "r1317"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative Contract [Domain]",
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r770",
      "r772",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r792",
      "r793",
      "r794",
      "r795",
      "r804",
      "r805",
      "r806",
      "r807",
      "r810",
      "r811",
      "r812",
      "r813",
      "r823",
      "r824",
      "r826",
      "r829",
      "r851",
      "r852",
      "r855",
      "r942",
      "r943",
      "r966",
      "r968",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1248",
      "r1249",
      "r1250",
      "r1251",
      "r1260",
      "r1261",
      "r1262",
      "r1263",
      "r1264",
      "r1265",
      "r1266",
      "r1267"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative Instrument [Axis]",
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r770",
      "r772",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r792",
      "r793",
      "r794",
      "r795",
      "r804",
      "r805",
      "r806",
      "r807",
      "r810",
      "r811",
      "r812",
      "r813",
      "r823",
      "r824",
      "r826",
      "r829",
      "r851",
      "r852",
      "r855",
      "r942",
      "r943",
      "r966",
      "r968",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1248",
      "r1249",
      "r1250",
      "r1251",
      "r1260",
      "r1261",
      "r1262",
      "r1263",
      "r1264",
      "r1265",
      "r1266",
      "r1267"
     ]
    },
    "us-gaap_DerivativeNotionalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeNotionalAmount",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative, notional amount",
        "label": "Derivative, Notional Amount",
        "documentation": "Nominal or face amount used to calculate payment on derivative."
       }
      }
     },
     "auth_ref": [
      "r942",
      "r1246",
      "r1247"
     ]
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "DirectorMember",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Director",
        "label": "Director [Member]"
       }
      }
     },
     "auth_ref": [
      "r1154",
      "r1318"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue",
        "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": [
      "r373",
      "r374",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "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": [
      "r373",
      "r374",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of 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": [
      "r1204"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-Based Compensation",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r473",
      "r477",
      "r505",
      "r506",
      "r508",
      "r904"
     ]
    },
    "us-gaap_DisposalGroupClassificationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisposalGroupClassificationAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Classification [Axis]",
        "label": "Disposal Group Classification [Axis]",
        "documentation": "Information by disposal group classification."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_DisposalGroupClassificationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisposalGroupClassificationDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Classification [Domain]",
        "label": "Disposal Group Classification [Domain]",
        "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Name [Domain]",
        "label": "Disposal Group Name [Domain]",
        "documentation": "Name of disposal group."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288",
      "r901",
      "r902"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r980"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r1012"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentType",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DomesticPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DomesticPlanMember",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Domestic Plan",
        "label": "Domestic Plan [Member]",
        "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r1206",
      "r1207",
      "r1208"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1023"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Per share data attributable to L.B. Foster shareholders:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basic earnings per common share (in USD per share)",
        "terseLabel": "Basic earnings per common share (in USD per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r157",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r198",
      "r200",
      "r202",
      "r203",
      "r204",
      "r208",
      "r350",
      "r509",
      "r534",
      "r590",
      "r637",
      "r638",
      "r696",
      "r718",
      "r863"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Diluted earnings per common share (in USD per share)",
        "terseLabel": "Diluted earnings per common share (in USD per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r157",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r200",
      "r202",
      "r203",
      "r204",
      "r208",
      "r350",
      "r509",
      "r534",
      "r590",
      "r637",
      "r638",
      "r696",
      "r718",
      "r863"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings Per Common Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r205",
      "r206",
      "r207"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation",
        "documentation": "Amount of increase (decrease) from effect of exchange rate change on cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; held in foreign currency; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r1271"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effective income 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": [
      "r515",
      "r905"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued payroll and employee benefits",
        "label": "Employee-related Liabilities, Current",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected cost on shares expected to vest",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r507"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recognition period for compensation expense not yet recognized",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r507"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "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": [
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223",
      "r1224",
      "r1225",
      "r1226",
      "r1227",
      "r1228",
      "r1229",
      "r1230",
      "r1231",
      "r1232",
      "r1233",
      "r1234"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Street Name",
        "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/2025",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Suite",
        "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/2025",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City",
        "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/2025",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State",
        "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/2025",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Common Stock, Shares Outstanding (in shares)",
        "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/2025",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commission 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/2025",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r1062"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r978"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1017"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1058"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1058"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1058"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "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": [
      "r16",
      "r119",
      "r121",
      "r122",
      "r151",
      "r152",
      "r153",
      "r181",
      "r182",
      "r183",
      "r185",
      "r192",
      "r194",
      "r196",
      "r210",
      "r248",
      "r249",
      "r284",
      "r349",
      "r359",
      "r509",
      "r524",
      "r525",
      "r531",
      "r532",
      "r533",
      "r535",
      "r589",
      "r590",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r672",
      "r674",
      "r679",
      "r714",
      "r742",
      "r743",
      "r744",
      "r760",
      "r816"
     ]
    },
    "fstr_EquityLossIncomeAndRemeasurementGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "EquityLossIncomeAndRemeasurementGain",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity in income of nonconsolidated investments",
        "label": "Equity (Loss) Income And Remeasurement Gain",
        "documentation": "Equity (Loss) Income And Remeasurement Gain"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1027"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r985",
      "r995",
      "r1005",
      "r1037"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r982",
      "r992",
      "r1002",
      "r1034"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Category:",
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1033"
     ]
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails",
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions",
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [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": [
      "r658",
      "r659",
      "r660",
      "r843",
      "r952",
      "r1269"
     ]
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByBalanceSheetGroupingTable",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails",
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]",
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities."
       }
      }
     },
     "auth_ref": [
      "r658",
      "r660",
      "r843",
      "r952",
      "r1268",
      "r1269"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Hierarchy [Axis]",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r441",
      "r442",
      "r639",
      "r641",
      "r642",
      "r643",
      "r644",
      "r650",
      "r651",
      "r653",
      "r658",
      "r680",
      "r681",
      "r682",
      "r843",
      "r878",
      "r879",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r945",
      "r948",
      "r952"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r642",
      "r646",
      "r648",
      "r649",
      "r650",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r690",
      "r945",
      "r949"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 1",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r404",
      "r409",
      "r441",
      "r641",
      "r651",
      "r658",
      "r680",
      "r843",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r945",
      "r952"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 2",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r404",
      "r409",
      "r441",
      "r443",
      "r641",
      "r642",
      "r651",
      "r658",
      "r681",
      "r843",
      "r878",
      "r879",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r945",
      "r952"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 3",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r441",
      "r442",
      "r641",
      "r642",
      "r643",
      "r644",
      "r651",
      "r658",
      "r682",
      "r843",
      "r878",
      "r879",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r945",
      "r948",
      "r952"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r441",
      "r442",
      "r639",
      "r641",
      "r642",
      "r643",
      "r644",
      "r650",
      "r651",
      "r653",
      "r658",
      "r680",
      "r681",
      "r682",
      "r843",
      "r878",
      "r879",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r945",
      "r948",
      "r952"
     ]
    },
    "fstr_FifthAmendedAndRestatedCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "FifthAmendedAndRestatedCreditAgreementMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fifth Amended And Restated Credit Agreement",
        "label": "Fifth Amended And Restated Credit Agreement [Member]",
        "documentation": "Fifth Amended And Restated Credit Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": {
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Finance leases and financing agreements",
        "label": "Finance Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r676",
      "r678"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLossesLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]",
        "label": "Financing Receivable, Allowance for Credit Loss [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Amortization Period In Years",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Amortization",
        "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": [
      "r133",
      "r258",
      "r279",
      "r845"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "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": [
      "r272",
      "r274",
      "r275",
      "r276",
      "r278",
      "r279",
      "r281",
      "r282",
      "r688",
      "r689",
      "r750",
      "r842",
      "r845",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Gross Carrying Value",
        "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": [
      "r258",
      "r279",
      "r689",
      "r845"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets",
        "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": [
      "r272",
      "r279",
      "r281",
      "r282",
      "r283",
      "r688",
      "r842",
      "r845",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "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": [
      "r272",
      "r274",
      "r275",
      "r276",
      "r278",
      "r279",
      "r281",
      "r282",
      "r750",
      "r842",
      "r845",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other intangibles - net (Note 4)",
        "terseLabel": "Net Carrying Amount",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r688",
      "r1178"
     ]
    },
    "us-gaap_ForeignPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ForeignPlanMember",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Plan",
        "label": "Foreign Plan [Member]",
        "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r1206",
      "r1207",
      "r1208"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r989",
      "r999",
      "r1009",
      "r1041"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r989",
      "r999",
      "r1009",
      "r1041"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r989",
      "r999",
      "r1009",
      "r1041"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r989",
      "r999",
      "r1009",
      "r1041"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r989",
      "r999",
      "r1009",
      "r1041"
     ]
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1022"
     ]
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2025",
     "localname": "GB",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United Kingdom",
        "label": "UNITED KINGDOM"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnDispositionOfAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on sales and disposals of property, plant, and equipment",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r1128",
      "r1182",
      "r1184"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "(Gain) on sale of former joint venture facility",
        "terseLabel": "Gain on sale of former joint venture facility",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "General administrative costs",
        "label": "General and Administrative Expense",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r800"
     ]
    },
    "fstr_GlobalFrictionManagementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "GlobalFrictionManagementMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Global Friction Management",
        "label": "Global Friction Management [Member]",
        "documentation": "Global Friction Management"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill (Note 4)",
        "periodStartLabel": "Goodwill, beginning balance",
        "periodEndLabel": "Goodwill, ending balance",
        "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": [
      "r132",
      "r259",
      "r691",
      "r870",
      "r875",
      "r906",
      "r907",
      "r908",
      "r938",
      "r946",
      "r955",
      "r1160",
      "r1167",
      "r1245"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and Other Intangible Assets",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r1158",
      "r1170"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation impact",
        "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": [
      "r266",
      "r588"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "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": [
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r875"
     ]
    },
    "us-gaap_GoodwillRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "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/2025",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "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",
      "r74",
      "r110",
      "r173",
      "r176",
      "r177",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r661",
      "r864",
      "r869",
      "r1146",
      "r1148",
      "r1150",
      "r1151",
      "r1152",
      "r1200"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "terseLabel": "Income before income 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",
      "r105",
      "r110",
      "r697",
      "r699",
      "r710",
      "r858",
      "r860",
      "r862",
      "r864",
      "r869",
      "r1146",
      "r1148",
      "r1150",
      "r1151",
      "r1152"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Name [Axis]",
        "label": "Disposal Group Name [Axis]",
        "documentation": "Information by name of disposal group."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288",
      "r901",
      "r902"
     ]
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Income Location, Balance [Axis]",
        "label": "Statement of Income Location, Balance [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount is reported."
       }
      }
     },
     "auth_ref": [
      "r285",
      "r294",
      "r297",
      "r599",
      "r605",
      "r622",
      "r623",
      "r645",
      "r647",
      "r652",
      "r662",
      "r663",
      "r664",
      "r739",
      "r741",
      "r801",
      "r842",
      "r843",
      "r906",
      "r908",
      "r943",
      "r944",
      "r947",
      "r952",
      "r1236",
      "r1238",
      "r1287"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Income Location, Balance [Domain]",
        "label": "Statement of Income Location, Balance [Domain]",
        "documentation": "Location in statement of income where disaggregated amount is reported."
       }
      }
     },
     "auth_ref": [
      "r294",
      "r297",
      "r599",
      "r605",
      "r622",
      "r623",
      "r645",
      "r647",
      "r652",
      "r662",
      "r663",
      "r664",
      "r739",
      "r741",
      "r801",
      "r842",
      "r843",
      "r906",
      "r908",
      "r943",
      "r944",
      "r947",
      "r952",
      "r1236",
      "r1238",
      "r1287"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.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": [
      "r173",
      "r178",
      "r511",
      "r515",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r526",
      "r528",
      "r529",
      "r530",
      "r701",
      "r749",
      "r757",
      "r905"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax expense (benefit)",
        "verboseLabel": "Income tax expense (benefit)",
        "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": [
      "r112",
      "r116",
      "r173",
      "r195",
      "r196",
      "r209",
      "r224",
      "r238",
      "r514",
      "r515",
      "r527",
      "r719",
      "r858",
      "r860",
      "r862",
      "r905"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Discrete tax benefit",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r905",
      "r1235"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes paid",
        "label": "Income Taxes Paid, Net",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r171",
      "r522",
      "r523"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInAccountsAndOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts and Other Receivables",
        "documentation": "The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "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": [
      "r10"
     ]
    },
    "fstr_IncreaseDecreaseInAccruedSettlement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "IncreaseDecreaseInAccruedSettlement",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Accrued settlement",
        "label": "Increase (Decrease) In Accrued Settlement",
        "documentation": "Increase (Decrease) In Accrued Settlement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Contract assets",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r1127"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r686",
      "r1127"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued payroll and employee benefits",
        "label": "Increase (Decrease) in Employee Related Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in operating assets and liabilities:",
        "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other 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": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other current assets",
        "label": "Increase (Decrease) in Other Current Assets",
        "documentation": "Amount of increase (decrease) in current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r1127"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other noncurrent assets",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r1127"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other long-term liabilities",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (Decrease) in Stockholders' Equity",
        "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_IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends",
     "calculation": {
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock compensation plans (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Nonvested Shares with Forfeitable Dividends",
        "documentation": "Number of additional shares included in diluted EPS for potentially dilutive effect of nonvested equity-based payment award containing forfeitable rights to dividends or dividend equivalents, whether paid or unpaid."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r1141",
      "r1142",
      "r1143",
      "r1144"
     ]
    },
    "fstr_IncrementalLoansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "IncrementalLoansMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incremental Loans",
        "label": "Incremental Loans [Member]",
        "documentation": "Incremental Loans"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r989",
      "r999",
      "r1009",
      "r1033",
      "r1041",
      "r1045",
      "r1053"
     ]
    },
    "fstr_InfrastructureSolutionsSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "InfrastructureSolutionsSegmentMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Infrastructure Solutions",
        "verboseLabel": "Infrastructure Solutions",
        "label": "Infrastructure Solutions Segment [Member]",
        "documentation": "Infrastructure Solutions Segment"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1051"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r981",
      "r1057"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r981",
      "r1057"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r981",
      "r1057"
     ]
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Interest expense - net",
        "terseLabel": "Interest expense - net",
        "label": "Interest Income (Expense), Nonoperating",
        "documentation": "Amount of interest income (expense) classified as nonoperating."
       }
      }
     },
     "auth_ref": [
      "r869",
      "r941",
      "r1083",
      "r1148"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest paid",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activity",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r169",
      "r170"
     ]
    },
    "fstr_InventoryAndFixedAssetWriteDown": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "InventoryAndFixedAssetWriteDown",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory and fixed asset write-down",
        "label": "Inventory And Fixed Asset Write-Down",
        "documentation": "Inventory And Fixed Asset Write-Down"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/Inventory"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "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": [
      "r257"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/InventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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",
      "r848"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.lbfoster.com/role/InventoryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories - net (Note 6)",
        "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": [
      "r138",
      "r847",
      "r955"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/InventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Raw materials",
        "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",
      "r850"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/InventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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",
      "r849"
     ]
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Investment Income, Interest",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r219",
      "r238",
      "r869",
      "r1082"
     ]
    },
    "us-gaap_LaborAndRelatedExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LaborAndRelatedExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Selling and administrative employment costs",
        "label": "Labor and Related Expense",
        "documentation": "Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit."
       }
      }
     },
     "auth_ref": [
      "r692",
      "r860",
      "r1081"
     ]
    },
    "us-gaap_LetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LetterOfCreditMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Letter of Credit",
        "label": "Letter of Credit [Member]",
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS\u2019 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",
      "r104",
      "r709",
      "r955",
      "r963",
      "r964",
      "r1130",
      "r1134",
      "r1156",
      "r1270"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "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/2025",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "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": [
      "r57",
      "r130",
      "r173",
      "r176",
      "r177",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r593",
      "r596",
      "r597",
      "r661",
      "r955",
      "r1200",
      "r1275",
      "r1276"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities:",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": {
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails",
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving credit facility",
        "verboseLabel": "Line of credit facility, amount outstanding",
        "label": "Long-Term Line of Credit",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r102",
      "r1284"
     ]
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lender Name [Axis]",
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r58",
      "r1130",
      "r1132",
      "r1197",
      "r1198"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit Facility, Lender [Domain]",
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r58",
      "r1130",
      "r1132",
      "r1197",
      "r1198"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Line of Credit Facility",
        "label": "Line of Credit Facility [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r311",
      "r1130",
      "r1132",
      "r1197"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, maximum borrowing capacity",
        "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": [
      "r54",
      "r58"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Line of Credit Facility [Table]",
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r58",
      "r311",
      "r1130",
      "r1132",
      "r1197"
     ]
    },
    "us-gaap_LitigationSettlementAmountAwardedToOtherParty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LitigationSettlementAmountAwardedToOtherParty",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Litigation settlement amount",
        "label": "Litigation Settlement, Amount Awarded to Other Party",
        "documentation": "Amount awarded to other party in judgment or settlement of litigation."
       }
      }
     },
     "auth_ref": []
    },
    "fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "LitigationSettlementAmountAwardedToOtherPartyCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Litigation settlement amount, current",
        "label": "Litigation Settlement, Amount Awarded To Other Party, Current",
        "documentation": "Litigation Settlement, Amount Awarded To Other Party, Current"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "LitigationSettlementAmountAwardedToOtherPartyNonCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Litigation settlement amount, non-current",
        "label": "Litigation Settlement, Amount Awarded To Other Party, Non-Current",
        "documentation": "Litigation Settlement, Amount Awarded To Other Party, Non-Current"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_LitigationSettlementInstallmentPaymentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "LitigationSettlementInstallmentPaymentTerm",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payment period",
        "label": "Litigation Settlement Installment Payment Term",
        "documentation": "Litigation Settlement Installment Payment Term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "documentation": "The entire disclosure for claims held for amounts due 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": [
      "r671",
      "r1153"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": {
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Long-term debt (Note 7)",
        "terseLabel": "Long-term portion",
        "label": "Long-Term Debt and Lease Obligation",
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r704"
     ]
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": {
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current maturities of long-term debt (Note 7)",
        "negatedLabel": "Less current maturities",
        "label": "Long-Term Debt and Lease Obligation, Current",
        "documentation": "Amount of long-term debt and lease obligation, classified as current."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer [Axis]",
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r244",
      "r886",
      "r890",
      "r957",
      "r961",
      "r1286",
      "r1288",
      "r1289",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r305",
      "r306",
      "r308",
      "r309",
      "r472",
      "r501",
      "r502",
      "r503",
      "r510",
      "r644",
      "r685",
      "r738",
      "r740",
      "r748",
      "r771",
      "r772",
      "r819",
      "r820",
      "r821",
      "r822",
      "r831",
      "r835",
      "r836",
      "r837",
      "r838",
      "r840",
      "r841",
      "r874",
      "r883",
      "r903",
      "r906",
      "r909",
      "r910",
      "r948",
      "r949",
      "r950",
      "r951",
      "r958",
      "r1202",
      "r1277",
      "r1278",
      "r1279",
      "r1280",
      "r1281",
      "r1282"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measure:",
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1025"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Measure Name"
       }
      }
     },
     "auth_ref": [
      "r1025"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r305",
      "r306",
      "r308",
      "r309",
      "r472",
      "r501",
      "r502",
      "r503",
      "r510",
      "r644",
      "r685",
      "r738",
      "r740",
      "r748",
      "r771",
      "r772",
      "r819",
      "r820",
      "r821",
      "r822",
      "r831",
      "r835",
      "r836",
      "r837",
      "r838",
      "r840",
      "r841",
      "r874",
      "r883",
      "r903",
      "r906",
      "r909",
      "r910",
      "r948",
      "r949",
      "r950",
      "r958",
      "r1202",
      "r1277",
      "r1278",
      "r1279",
      "r1280",
      "r1281",
      "r1282"
     ]
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncontrolling interest",
        "label": "Equity, Attributable to Noncontrolling Interest",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r103",
      "r173",
      "r176",
      "r177",
      "r247",
      "r312",
      "r315",
      "r316",
      "r317",
      "r321",
      "r322",
      "r708",
      "r781",
      "r1270"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1044"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1052"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer [Domain]",
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r244",
      "r886",
      "r890",
      "r957",
      "r961",
      "r1286",
      "r1288",
      "r1289",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1026"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by financing activities",
        "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation",
        "documentation": "Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:",
        "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation",
        "documentation": "Amount of cash inflow (outflow) from investing activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, property, plant, and equipment, and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:",
        "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by (used in) operating activities",
        "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation",
        "documentation": "Amount of cash inflow (outflow) from operating activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing activity."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r83",
      "r84"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:",
        "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income attributable to L.B. Foster Company",
        "terseLabel": "Net income attributable to L.B. Foster Company",
        "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": [
      "r75",
      "r84",
      "r106",
      "r122",
      "r128",
      "r147",
      "r149",
      "r153",
      "r173",
      "r176",
      "r177",
      "r179",
      "r184",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r195",
      "r196",
      "r201",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r350",
      "r353",
      "r355",
      "r358",
      "r509",
      "r534",
      "r590",
      "r638",
      "r661",
      "r713",
      "r798",
      "r814",
      "r815",
      "r858",
      "r860",
      "r862",
      "r974",
      "r1200"
     ]
    },
    "us-gaap_NetIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLossAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Numerator for basic and diluted earnings per common share:",
        "label": "Net Income (Loss) Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net loss attributable to noncontrolling interest",
        "verboseLabel": "Net loss attributable to noncontrolling interest",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r99",
      "r147",
      "r149",
      "r192",
      "r195",
      "r196",
      "r712",
      "r1080"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/BasisofPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recently Issued Accounting Standards",
        "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": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1025"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-NEOs",
        "label": "Non-NEOs [Member]"
       }
      }
     },
     "auth_ref": [
      "r989",
      "r999",
      "r1009",
      "r1033",
      "r1041"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1016"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1015"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1033"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1052"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1052"
     ]
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment of noncontrolling interest",
        "label": "Noncontrolling Interest, Increase from Subsidiary Equity Issuance",
        "documentation": "Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r36",
      "r98"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncontrolling Interest",
        "label": "Noncontrolling Interest [Member]",
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r359",
      "r1137",
      "r1138",
      "r1139",
      "r1140",
      "r1321"
     ]
    },
    "fstr_NumberOfCompaniesReceivingGeneralNoticeLetter": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "NumberOfCompaniesReceivingGeneralNoticeLetter",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of companies that received a general notice letter (company)",
        "label": "Number Of Companies Receiving General Notice Letter",
        "documentation": "Number Of Companies Receiving General Notice Letter"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_NumberOfDefinedContributionPlans": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "NumberOfDefinedContributionPlans",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Number of defined contribution plans",
        "label": "Number Of Defined Contribution Plans",
        "documentation": "Number Of Defined Contribution Plans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of operating segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r870",
      "r1147"
     ]
    },
    "fstr_NumberOfPartiesRequiredToPerformRemedialWork": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "NumberOfPartiesRequiredToPerformRemedialWork",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of parties required to perform remedial design work",
        "label": "Number Of Parties Required To Perform Remedial Work",
        "documentation": "Number Of Parties Required To Perform Remedial Work"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "NumberOfPotentiallyResponsiblePartiesIncludedInAgreement",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of potentially responsible parties included in agreement",
        "label": "Number Of Potentially Responsible Parties Included In Agreement",
        "documentation": "Number Of Potentially Responsible Parties Included In Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "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": [
      "r865",
      "r873",
      "r1147"
     ]
    },
    "us-gaap_OffMarketFavorableLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OffMarketFavorableLeaseMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Favorable lease",
        "label": "Off-Market Favorable Lease [Member]",
        "documentation": "Identifiable intangible asset established upon acquisition based on a favorable difference between the terms of an acquired lease and the current market terms for that lease."
       }
      }
     },
     "auth_ref": [
      "r1171",
      "r1172",
      "r1173",
      "r1174",
      "r1176",
      "r1178",
      "r1180",
      "r1181"
     ]
    },
    "fstr_OmnibusPlanAndEquityAndIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OmnibusPlanAndEquityAndIncentivePlanMember",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Omnibus Plan and Equity and Incentive Plan",
        "label": "Omnibus Plan and Equity and Incentive Plan [Member]",
        "documentation": "Omnibus Plan and Equity and Incentive Plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less:",
        "label": "Operating Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r858",
      "r862",
      "r864",
      "r1146",
      "r1148",
      "r1150",
      "r1151",
      "r1152"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term 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": [
      "r676"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease right-of-use assets - net",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "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": [
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r239",
      "r869",
      "r870"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.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": [
      "r96",
      "r123",
      "r124",
      "r125",
      "r751",
      "r752"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other current assets",
        "label": "Other Assets, Current",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r955"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r134"
     ]
    },
    "us-gaap_OtherAssetsNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssetsNoncurrentAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets:",
        "label": "Other Assets, Noncurrent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Pension liability adjustment",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Tax and Reclassification Adjustment, Attributable to Parent",
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r15",
      "r70",
      "r71",
      "r97"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation adjustment",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Noncontrolling Interest",
        "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, attributable to noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r15",
      "r97"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation adjustment",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent",
        "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, attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r15",
      "r97"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrealized loss on cash flow hedges, net of tax expense of $0",
        "verboseLabel": "Unrealized derivative loss on cash flow hedges",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax",
        "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r144"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrealized loss on cash flow hedge, tax",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax",
        "documentation": "Amount, before reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r145"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "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": [
      "r2",
      "r714"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive (loss) income, net of tax:",
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income, net of tax:",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification of pension liability adjustments to earnings, net of tax expense of $0, $5, $0, and $12, respectively*",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax",
        "documentation": "Amount, after tax, of reclassification adjustment from accumulated other comprehensive (income) loss for net periodic benefit cost (credit) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r71",
      "r93",
      "r146"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMEParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification of pension liability adjustments to earnings, tax",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax",
        "documentation": "Amount of tax (expense) benefit for reclassification adjustment from accumulated other comprehensive (income) loss of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r97"
     ]
    },
    "fstr_OtherCorporateCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OtherCorporateCharges",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other corporate expenses - net",
        "label": "Other Corporate Charges",
        "documentation": "Other Corporate Charges"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_OtherExitCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OtherExitCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other exit costs",
        "label": "Other Exit Costs",
        "documentation": "Other Exit Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other long-term 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": [
      "r59"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other income - net",
        "verboseLabel": "Other income - net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r941"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1025"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r987",
      "r997",
      "r1007",
      "r1039"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Amount",
        "label": "Outstanding Recovery Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r990",
      "r1000",
      "r1010",
      "r1042"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r990",
      "r1000",
      "r1010",
      "r1042"
     ]
    },
    "fstr_OverTimeInputMethodMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OverTimeInputMethodMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Over time input method",
        "label": "Over Time Input Method [Member]",
        "documentation": "Over Time Input Method"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_OverTimeOutputMethodMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OverTimeOutputMethodMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Over time output method",
        "label": "Over Time Output Method [Member]",
        "documentation": "Over Time Output Method"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_OverTimeSalesAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OverTimeSalesAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Over time sales, amount",
        "label": "Over Time Sales, Amount",
        "documentation": "Over Time Sales, Amount"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_OverTimeSalesPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OverTimeSalesPercent",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Over time sales, percentage",
        "label": "Over Time Sales, Percent",
        "documentation": "Over Time Sales, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_OvernightBankFundingRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "OvernightBankFundingRateMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Overnight Bank Funding Rate",
        "label": "Overnight Bank Funding Rate [Member]",
        "documentation": "Overnight Bank Funding Rate"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a Participant",
        "label": "PNC Bank, N.A., Bank Of America, N.A., Citizens Bank, N.A., And Wells Fargo Bank N.A. As Co-Syndication Agents, And Dollar Bank, Federal Savings Bank As Participant [Member]",
        "documentation": "PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patents",
        "label": "Patents [Member]",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r1171",
      "r1172",
      "r1173",
      "r1174",
      "r1176",
      "r1178",
      "r1180",
      "r1181"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1014"
     ]
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Deferred payment for Skratch acquisition",
        "terseLabel": "Deferred payment for Skratch acquisition",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock acquisitions",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_PaymentsForRestructuring": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForRestructuring",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "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": [
      "r296",
      "r1126"
     ]
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsOfDebtIssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Debt issuance costs",
        "label": "Payments of Debt Issuance Costs",
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Capital expenditures on property, plant, and equipment",
        "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": [
      "r79"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1024"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1024"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plans",
        "label": "Retirement Benefits [Text Block]",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r378",
      "r401",
      "r403",
      "r409",
      "r427",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r469",
      "r470",
      "r471",
      "r899"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1016"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO",
        "label": "PEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r1033"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Name",
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r1026"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1015"
     ]
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PerformanceSharesMember",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance-Based Stock and Share Units",
        "label": "Performance Shares [Member]",
        "documentation": "Share-based payment arrangement awarded for meeting performance target."
       }
      }
     },
     "auth_ref": [
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223",
      "r1224",
      "r1225",
      "r1226",
      "r1227",
      "r1228",
      "r1229",
      "r1230",
      "r1231",
      "r1232",
      "r1233",
      "r1234"
     ]
    },
    "fstr_PersonnelExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "PersonnelExpenses",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Personnel expenses",
        "label": "Personnel Expenses",
        "documentation": "Personnel Expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Axis]",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223",
      "r1224",
      "r1225",
      "r1226",
      "r1227",
      "r1228",
      "r1229",
      "r1230",
      "r1231",
      "r1232",
      "r1233",
      "r1234"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Domain]",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223",
      "r1224",
      "r1225",
      "r1226",
      "r1227",
      "r1228",
      "r1229",
      "r1230",
      "r1231",
      "r1232",
      "r1233",
      "r1234"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1017"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1061"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1016"
     ]
    },
    "fstr_PrecastConcreteProductsSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "PrecastConcreteProductsSegmentMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Precast Concrete Products",
        "label": "Precast Concrete Products Segment [Member]",
        "documentation": "Precast Concrete Products Segment"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_PresentValueOfProposedRemedialWork": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "PresentValueOfProposedRemedialWork",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Present value of remedial work",
        "label": "Present Value Of Proposed Remedial Work",
        "documentation": "Present Value Of Proposed Remedial Work"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromIssuanceOfOtherLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from debt",
        "label": "Proceeds from Issuance of Other Long-Term Debt",
        "documentation": "Amount of cash inflow from issuance of long-term debt classified as other."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from the sale of property, plant, and equipment",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "us-gaap_ProductLiabilityContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProductLiabilityContingencyLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability Contingency",
        "label": "Product Liability Contingency [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r1193",
      "r1194",
      "r1195"
     ]
    },
    "us-gaap_ProductLiabilityContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProductLiabilityContingencyTable",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability Contingency [Table]",
        "label": "Product Liability Contingency [Table]",
        "documentation": "Disclosure of information about product liability contingency arising from reasonably possible loss from liability related to individual product."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r1193",
      "r1194",
      "r1195"
     ]
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProductMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales of goods",
        "label": "Product [Member]",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r857",
      "r862",
      "r886",
      "r888"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Products and Services [Axis]",
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r241",
      "r687",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r844",
      "r857",
      "r860",
      "r862",
      "r886",
      "r888",
      "r956",
      "r958",
      "r959",
      "r962",
      "r965",
      "r1066",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089",
      "r1090",
      "r1091",
      "r1092",
      "r1093",
      "r1094",
      "r1095",
      "r1096",
      "r1097",
      "r1098",
      "r1099",
      "r1100",
      "r1101",
      "r1102",
      "r1103",
      "r1104",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1195",
      "r1196",
      "r1286",
      "r1288",
      "r1289",
      "r1290",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Products and Services [Domain]",
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r241",
      "r687",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r844",
      "r857",
      "r860",
      "r862",
      "r886",
      "r888",
      "r956",
      "r958",
      "r959",
      "r962",
      "r965",
      "r1066",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089",
      "r1090",
      "r1091",
      "r1092",
      "r1093",
      "r1094",
      "r1095",
      "r1096",
      "r1097",
      "r1098",
      "r1099",
      "r1100",
      "r1101",
      "r1102",
      "r1103",
      "r1104",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1195",
      "r1196",
      "r1286",
      "r1288",
      "r1289",
      "r1290",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "terseLabel": "Net income",
        "netLabel": "Net income",
        "verboseLabel": "Net income (loss)",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r128",
      "r147",
      "r149",
      "r167",
      "r173",
      "r176",
      "r177",
      "r179",
      "r184",
      "r192",
      "r195",
      "r196",
      "r247",
      "r312",
      "r313",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r321",
      "r322",
      "r350",
      "r509",
      "r534",
      "r590",
      "r591",
      "r594",
      "r595",
      "r638",
      "r661",
      "r697",
      "r699",
      "r711",
      "r759",
      "r798",
      "r814",
      "r815",
      "r939",
      "r940",
      "r975",
      "r1080",
      "r1200"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant, and equipment - net",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r1067",
      "r1183"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails",
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Reserve for uncollectible accounts, expense (benefit)",
        "terseLabel": "Current period provision",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r161",
      "r252"
     ]
    },
    "fstr_PublicCompanyCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "PublicCompanyCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Public company costs",
        "label": "Public Company Costs",
        "documentation": "Public Company Costs"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_PurchasedServicesExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "PurchasedServicesExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Purchased services",
        "label": "Purchased Services Expense",
        "documentation": "Purchased Services Expense"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1014"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1014"
     ]
    },
    "fstr_RailProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "RailProductsMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rail Products",
        "label": "Rail Products [Member]",
        "documentation": "Rail Products"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_RailTechnologiesAndServicesSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "RailTechnologiesAndServicesSegmentMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rail, Technologies, and Services",
        "label": "Rail Technologies and Services Segment [Member]",
        "documentation": "Rail Technologies and Services Segment"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_RailTechnologiesProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "RailTechnologiesProductsMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Technology Services and Solutions",
        "label": "Rail Technologies Products [Member]",
        "documentation": "Rail Technologies Products"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails",
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Range [Axis]",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r305",
      "r306",
      "r308",
      "r309",
      "r401",
      "r472",
      "r501",
      "r502",
      "r503",
      "r508",
      "r510",
      "r644",
      "r683",
      "r684",
      "r685",
      "r738",
      "r740",
      "r748",
      "r771",
      "r772",
      "r819",
      "r820",
      "r821",
      "r822",
      "r831",
      "r835",
      "r836",
      "r837",
      "r838",
      "r840",
      "r841",
      "r874",
      "r883",
      "r903",
      "r906",
      "r909",
      "r910",
      "r948",
      "r949",
      "r950",
      "r951",
      "r958",
      "r968",
      "r1189",
      "r1202",
      "r1258",
      "r1278",
      "r1279",
      "r1280",
      "r1281",
      "r1282"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "RangeMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails",
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Range [Domain]",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r305",
      "r306",
      "r308",
      "r309",
      "r401",
      "r472",
      "r501",
      "r502",
      "r503",
      "r508",
      "r510",
      "r644",
      "r683",
      "r684",
      "r685",
      "r738",
      "r740",
      "r748",
      "r771",
      "r772",
      "r819",
      "r820",
      "r821",
      "r822",
      "r831",
      "r835",
      "r836",
      "r837",
      "r838",
      "r840",
      "r841",
      "r874",
      "r883",
      "r903",
      "r906",
      "r909",
      "r910",
      "r948",
      "r949",
      "r950",
      "r951",
      "r958",
      "r968",
      "r1189",
      "r1202",
      "r1258",
      "r1278",
      "r1279",
      "r1280",
      "r1281",
      "r1282"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r982",
      "r992",
      "r1002",
      "r1034"
     ]
    },
    "fstr_RemedialWorkAnticipatedCleanUpPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "RemedialWorkAnticipatedCleanUpPeriod",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Anticipated clean period",
        "label": "Remedial Work Anticipated Clean Up Period",
        "documentation": "Remedial Work Anticipated Clean Up Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfOtherLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RepaymentsOfOtherLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayments of debt",
        "label": "Repayments of Other Long-Term Debt",
        "documentation": "Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r983",
      "r993",
      "r1003",
      "r1035"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date",
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r984",
      "r994",
      "r1004",
      "r1036"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r991",
      "r1001",
      "r1011",
      "r1043"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock",
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r1145",
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223",
      "r1224",
      "r1225",
      "r1226",
      "r1227",
      "r1228",
      "r1229",
      "r1230",
      "r1231",
      "r1232",
      "r1233",
      "r1234"
     ]
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestructuringCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Personnel and other exit costs associated with AMH Exit",
        "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": [
      "r11",
      "r159",
      "r162",
      "r299",
      "r300",
      "r859",
      "r1191"
     ]
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestructuringCostAndReserveAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Type [Axis]",
        "label": "Restructuring Type [Axis]",
        "documentation": "Information by type of restructuring cost."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r162",
      "r295",
      "r296",
      "r300",
      "r301",
      "r859"
     ]
    },
    "us-gaap_RestructuringPlanAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestructuringPlanAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Plan [Axis]",
        "label": "Restructuring Plan [Axis]",
        "documentation": "Information by individual restructuring plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringPlanDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestructuringPlanDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Plan [Domain]",
        "label": "Restructuring Plan [Domain]",
        "documentation": "Identification of the individual restructuring plans."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestructuringReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring reserve",
        "periodStartLabel": "Balance as of December 31, 2024",
        "periodEndLabel": "Balance as of September 30, 2025",
        "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": [
      "r296",
      "r301"
     ]
    },
    "us-gaap_RestructuringReserveRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestructuringReserveRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationoftheRestructuringLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Liability",
        "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_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained earnings",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r92",
      "r707",
      "r745",
      "r747",
      "r756",
      "r780",
      "r955"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r121",
      "r122",
      "r181",
      "r182",
      "r183",
      "r185",
      "r192",
      "r194",
      "r196",
      "r248",
      "r249",
      "r284",
      "r349",
      "r509",
      "r524",
      "r525",
      "r531",
      "r532",
      "r533",
      "r535",
      "r589",
      "r590",
      "r626",
      "r628",
      "r629",
      "r631",
      "r636",
      "r672",
      "r674",
      "r742",
      "r744",
      "r760",
      "r1321"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetirementPlanSponsorLocationAxis",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Sponsor Location [Axis]",
        "label": "Retirement Plan Sponsor Location [Axis]",
        "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r428",
      "r431",
      "r434",
      "r435",
      "r436",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r468",
      "r1206",
      "r1207",
      "r1208"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetirementPlanSponsorLocationDomain",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Sponsor Location [Domain]",
        "label": "Retirement Plan Sponsor Location [Domain]",
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r428",
      "r431",
      "r434",
      "r435",
      "r436",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r468",
      "r1206",
      "r1207",
      "r1208"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total net sales",
        "verboseLabel": "Net sales",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r109",
      "r209",
      "r217",
      "r218",
      "r232",
      "r238",
      "r241",
      "r243",
      "r244",
      "r372",
      "r373",
      "r374",
      "r687"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.lbfoster.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": [
      "r117",
      "r363",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r374",
      "r377"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue remaining performance obligation",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction",
        "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/2025",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period",
        "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": [
      "r114"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "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": [
      "r114"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "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_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue remaining performance obligation",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r1065"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving credit facility",
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets obtained in exchange for lease liabilities",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r677",
      "r954"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1052"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1052"
     ]
    },
    "us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfCostsOfRetirementPlansTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Costs of Retirement Plans",
        "label": "Schedule of Costs of Retirement Plans [Table Text Block]",
        "documentation": "Tabular disclosure of the costs related to the various types of retirement plans including defined benefit pension plan cost, defined contribution plan cost, other postretirement benefit plan cost, and net periodic benefit cost."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Long-term Debt Instruments",
        "label": "Schedule of Long-Term Debt Instruments [Table Text Block]",
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r34",
      "r35",
      "r49",
      "r90",
      "r91",
      "r878",
      "r880",
      "r1131",
      "r1136",
      "r1272",
      "r1283"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofNetBenefitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plan [Table]",
        "label": "Defined Benefit Plan [Table]",
        "documentation": "Disclosure of information about individual defined benefit pension plan or other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r39",
      "r40",
      "r41",
      "r42",
      "r437",
      "r438",
      "r439",
      "r442",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r467"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted",
        "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": [
      "r1144"
     ]
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r1255",
      "r1256"
     ]
    },
    "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]",
        "label": "Financing Receivable, Allowance for Credit Loss [Table]",
        "documentation": "Disclosure of information about allowance for credit loss on financing receivable."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible Asset, Finite-Lived [Table]",
        "label": "Intangible Asset, Finite-Lived [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r272",
      "r279",
      "r281",
      "r282",
      "r283",
      "r688",
      "r842",
      "r845",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finite-Lived Intangible Assets",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r845",
      "r1177"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r875"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule 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": [
      "r875",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/InventoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Inventory",
        "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": [
      "r12",
      "r67",
      "r68",
      "r69"
     ]
    },
    "us-gaap_ScheduleOfNetBenefitCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfNetBenefitCostsTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Net Benefit Costs",
        "label": "Schedule of Net Benefit Costs [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r1205"
     ]
    },
    "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfNonvestedShareActivityTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Nonvested Share Activity",
        "label": "Schedule of Nonvested Share Activity [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in outstanding nonvested shares."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Restructuring Reserve",
        "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": [
      "r33",
      "r87"
     ]
    },
    "fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "ScheduleOfRevenuesByMajorProductLineTableTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Sales by Major Product Line",
        "label": "Schedule of Revenues by Major Product Line [Table Text Block]",
        "documentation": "Tabular disclosure summarizing sales by major product line."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r30",
      "r31"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Segment Reporting Information, 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": [
      "r29",
      "r30",
      "r31"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "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": [
      "r474",
      "r476",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r508"
     ]
    },
    "us-gaap_SecuredOvernightFinancingRateSofrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SecuredOvernightFinancingRateSofrMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SOFR",
        "label": "Secured Overnight Financing Rate (SOFR) [Member]",
        "documentation": "Interest rate at which bank can borrow U.S. dollar overnight while posting U.S. Treasury bond as collateral."
       }
      }
     },
     "auth_ref": [
      "r1252"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r977"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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": [
      "r979"
     ]
    },
    "us-gaap_SegmentDiscontinuedOperationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentDiscontinuedOperationsMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discontinued Operations",
        "label": "Discontinued Operations [Member]",
        "documentation": "Component or group of components representing strategic shift that has or will have major effect on operation and financial result, classified as held-for-sale or disposed of by sale or by means other than sale, and business and nonprofit activity on acquisition and upon joint venture formation, classified as held-for-sale."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r50",
      "r51",
      "r52"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "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": [
      "r108",
      "r109",
      "r110",
      "r111",
      "r209",
      "r213",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r238",
      "r239",
      "r240",
      "r244",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r283",
      "r298",
      "r302",
      "r582",
      "r585",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r866",
      "r869",
      "r870",
      "r875",
      "r960",
      "r1286",
      "r1288",
      "r1289",
      "r1290",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315"
     ]
    },
    "us-gaap_SegmentExpenditureAdditionToLongLivedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentExpenditureAdditionToLongLivedAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expenditures for Long-Lived Assets",
        "label": "Segment, Expenditure, Addition to Long-Lived Assets",
        "documentation": "Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r227",
      "r238",
      "r869",
      "r870"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Segments",
        "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": [
      "r111",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r228",
      "r230",
      "r231",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r244",
      "r865",
      "r867",
      "r868",
      "r869",
      "r871",
      "r872",
      "r873"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting Information",
        "label": "Segment Reporting Information [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/2025",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling and administrative expenses",
        "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": [
      "r76",
      "r857",
      "r858",
      "r859",
      "r862",
      "r1121"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Selling and Administrative Expenses",
        "terseLabel": "Selling, General and Administrative Expenses",
        "label": "Selling, General and Administrative Expenses [Member]",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r906",
      "r908"
     ]
    },
    "us-gaap_ServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ServiceMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales of services",
        "label": "Service [Member]",
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service."
       }
      }
     },
     "auth_ref": [
      "r857",
      "r862",
      "r886",
      "r888"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Noncash Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Vesting period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Cancelled and forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r494"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average grant date fair value, cancelled and forfeited (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r494"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares granted (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding, beginning balance (in shares)",
        "periodEndLabel": "Outstanding, ending balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r490"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock and Performance Share Units",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average share price, beginning balance (in USD per share)",
        "periodEndLabel": "Weighted average share price, ending balance (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r490"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Grant Date Fair Value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Vested (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares vested (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award",
        "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": [
      "r474",
      "r476",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r508"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of stock options outstanding (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r481",
      "r482"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails",
      "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": [
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504"
     ]
    },
    "fstr_SkratchEnterprisesLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "SkratchEnterprisesLtdMember",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Skratch acquisition",
        "label": "Skratch Enterprises Ltd [Member]",
        "documentation": "Skratch Enterprises Ltd Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofAssetReportableSegmentDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsScheduleofReconciliationofOperatingIncometoIncomeBeforeTaxesDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segments [Axis]",
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r109",
      "r110",
      "r111",
      "r126",
      "r209",
      "r213",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r238",
      "r239",
      "r240",
      "r244",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r283",
      "r286",
      "r298",
      "r302",
      "r582",
      "r585",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r866",
      "r869",
      "r870",
      "r875",
      "r960",
      "r1286",
      "r1288",
      "r1289",
      "r1290",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Components [Axis]",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r61",
      "r64",
      "r65",
      "r119",
      "r121",
      "r122",
      "r151",
      "r152",
      "r153",
      "r181",
      "r182",
      "r183",
      "r185",
      "r192",
      "r194",
      "r196",
      "r210",
      "r248",
      "r249",
      "r284",
      "r349",
      "r359",
      "r509",
      "r524",
      "r525",
      "r531",
      "r532",
      "r533",
      "r535",
      "r589",
      "r590",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r672",
      "r674",
      "r679",
      "r714",
      "r742",
      "r743",
      "r744",
      "r760",
      "r816"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement",
        "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": [
      "r181",
      "r182",
      "r183",
      "r210",
      "r351",
      "r352",
      "r354",
      "r356",
      "r674",
      "r687",
      "r753",
      "r761",
      "r762",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796",
      "r799",
      "r800",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r813",
      "r816",
      "r860",
      "r862",
      "r969",
      "r1320"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "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/2025",
     "localname": "StatementTable",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "Statement [Table]",
        "documentation": "Presentation of information about comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r182",
      "r183",
      "r210",
      "r245",
      "r351",
      "r352",
      "r354",
      "r356",
      "r674",
      "r687",
      "r753",
      "r761",
      "r762",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796",
      "r799",
      "r800",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r813",
      "r816",
      "r860",
      "r862",
      "r969",
      "r1320"
     ]
    },
    "fstr_SteelProductsSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "SteelProductsSegmentMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofSalesbyMajorProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Steel Products",
        "label": "Steel Products Segment [Member]",
        "documentation": "Steel Products Segment"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r986",
      "r996",
      "r1006",
      "r1038"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "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": [
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223",
      "r1224",
      "r1225",
      "r1226",
      "r1227",
      "r1228",
      "r1229",
      "r1230",
      "r1231",
      "r1232",
      "r1233",
      "r1234"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common shares issues net of shares withheld (in shares)",
        "label": "Stock Issued During Period, Shares, New Issues",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r60",
      "r61",
      "r92",
      "r754",
      "r816",
      "r832"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common shares, net of share withheld for taxes",
        "label": "Stock Issued During Period, Value, New Issues",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r60",
      "r61",
      "r92",
      "r760",
      "r816",
      "r832",
      "r975"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase of common shares for treasury (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": [
      "r16",
      "r60",
      "r61",
      "r92",
      "r755",
      "r816",
      "r833"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Purchase of common shares for treasury",
        "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": [
      "r16",
      "r60",
      "r61",
      "r92",
      "r760",
      "r816",
      "r833",
      "r975"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total L.B. Foster Company stockholders\u2019 equity",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r64",
      "r65",
      "r85",
      "r781",
      "r797",
      "r817",
      "r818",
      "r955",
      "r976",
      "r1130",
      "r1133",
      "r1134",
      "r1156",
      "r1270",
      "r1321"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 equity:",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r44",
      "r46",
      "r119",
      "r120",
      "r121",
      "r122",
      "r152",
      "r181",
      "r182",
      "r183",
      "r185",
      "r192",
      "r194",
      "r248",
      "r249",
      "r284",
      "r349",
      "r359",
      "r509",
      "r524",
      "r525",
      "r531",
      "r532",
      "r533",
      "r535",
      "r589",
      "r590",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r636",
      "r665",
      "r666",
      "r670",
      "r673",
      "r679",
      "r743",
      "r744",
      "r758",
      "r781",
      "r797",
      "r817",
      "r818",
      "r834",
      "r963",
      "r964",
      "r975",
      "r1130",
      "r1133",
      "r1134",
      "r1156",
      "r1270",
      "r1321"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental disclosure of cash flow information:",
        "label": "Supplemental Cash Flow Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_Swap2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "Swap2Member",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Swap 2",
        "label": "Swap 2 [Member]",
        "documentation": "Swap 2"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SwapMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SwapMember",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Swap",
        "label": "Swap [Member]",
        "documentation": "A forward-based contract in which two parties agree to swap streams of payments over a specified period. The payment streams are based on an agreed-upon (or notional) principal amount. The term notional is used because swap contracts generally involve no exchange of principal at either inception or maturity. Rather, the notional amount serves as a basis for calculation of the payment streams to be exchanged."
       }
      }
     },
     "auth_ref": [
      "r786",
      "r790",
      "r795",
      "r807",
      "r813",
      "r828",
      "r829",
      "r968"
     ]
    },
    "fstr_SwingLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "SwingLoanMember",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Swing Loan",
        "label": "Swing Loan [Member]",
        "documentation": "Swing Loan"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1032"
     ]
    },
    "us-gaap_TechnologyBasedIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TechnologyBasedIntangibleAssetsMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Technology",
        "label": "Technology-Based Intangible Assets [Member]",
        "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights."
       }
      }
     },
     "auth_ref": [
      "r932",
      "r1171",
      "r1172",
      "r1173",
      "r1174",
      "r1176",
      "r1178",
      "r1180",
      "r1181"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "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": [
      "r374",
      "r886",
      "r893"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "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": [
      "r374",
      "r886",
      "r893"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title and Position [Axis]",
        "label": "Title and Position [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1154",
      "r1274"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title and Position [Domain]",
        "label": "Title and Position [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1024"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1031"
     ]
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TrademarksAndTradeNamesMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademarks and trade names",
        "label": "Trademarks and Trade Names [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, or rights either acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r912",
      "r1171",
      "r1172",
      "r1173",
      "r1174",
      "r1175",
      "r1176",
      "r1178",
      "r1179",
      "r1180",
      "r1181"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangement:",
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1051"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1053"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "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/2025",
     "localname": "TransferredAtPointInTimeMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "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": [
      "r886",
      "r887",
      "r893"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueScheduleofTimingofTransferDetails"
     ],
     "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": [
      "r886",
      "r887",
      "r893"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adoption Date",
        "label": "Trading Arrangement Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r1054"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Arrangement Duration",
        "label": "Trading Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r1055"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expiration Date",
        "label": "Trading Arrangement Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r1055"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r1053"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title",
        "label": "Trading Arrangement, Individual Title"
       }
      }
     },
     "auth_ref": [
      "r1053"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1056"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Termination Date",
        "label": "Trading Arrangement Termination Date"
       }
      }
     },
     "auth_ref": [
      "r1054"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock shares - at cost, common stock (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": [
      "r37"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "calculation": {
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock - at cost, 867,973 and 542,347 common stock shares at September\u00a030, 2025 and December\u00a031, 2024, respectively",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r64"
     ]
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TypeOfRestructuringDomain",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Type of Restructuring [Domain]",
        "label": "Type of Restructuring [Domain]",
        "documentation": "Identification of the types of restructuring costs."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r162",
      "r295",
      "r296",
      "r300",
      "r301",
      "r859"
     ]
    },
    "fstr_UPRRMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "UPRRMember",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "UPRR",
        "label": "UPRR [Member]",
        "documentation": "The UPRR"
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2025",
     "localname": "US",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "fstr_UndiscoveredRemedialWork": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.lbfoster.com/20250930",
     "localname": "UndiscoveredRemedialWork",
     "crdr": "credit",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Undiscovered remedial work",
        "label": "Undiscovered Remedial Work",
        "documentation": "Undiscovered Remedial Work"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1050"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable Rate [Axis]",
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": [
      "r1068",
      "r1199",
      "r1252"
     ]
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.lbfoster.com/role/LongTermDebtandRelatedMattersNarrativeDetails"
     ],
     "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": [
      "r1068",
      "r1199",
      "r1252"
     ]
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1020"
     ]
    },
    "srt_WeightedAverageMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "WeightedAverageMember",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average",
        "label": "Weighted Average [Member]"
       }
      }
     },
     "auth_ref": [
      "r501",
      "r502",
      "r644",
      "r684",
      "r840",
      "r841",
      "r948",
      "r1277",
      "r1279",
      "r1282"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "calculation": {
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Dilutive potential common shares (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of dilutive securities:",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted weighted average shares outstanding (in shares)",
        "totalLabel": "Denominator for diluted earnings per common share - adjusted weighted average shares outstanding (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": [
      "r199",
      "r204"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfSharesIssuedBasic",
     "calculation": {
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares outstanding (in shares)",
        "label": "Weighted Average Number of Shares Issued, Basic",
        "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic)."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.lbfoster.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic weighted average shares outstanding (in shares)",
        "totalLabel": "Denominator for basic earnings per common share (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": [
      "r198",
      "r204"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Denominator:",
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "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": [
      "r1018"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "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"
  },
  "r1": {
   "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"
  },
  "r2": {
   "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"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(j)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(k)",
   "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": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-15"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(f)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1D",
   "SubTopic": "20",
   "Topic": "205",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483475/205-20-45-1D"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(2)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r15": {
   "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"
  },
  "r16": {
   "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"
  },
  "r17": {
   "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"
  },
  "r18": {
   "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"
  },
  "r19": {
   "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"
  },
  "r20": {
   "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"
  },
  "r21": {
   "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"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r24": {
   "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"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-13"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "68B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-68B"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r37": {
   "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"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-2"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-4"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-21"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "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",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483475/205-20-45-1A"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483475/205-20-45-1B"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483475/205-20-45-1C"
  },
  "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)(a))",
   "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(19)(b))",
   "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(19))",
   "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(20))",
   "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(21))",
   "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(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "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(28))",
   "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(29))",
   "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(6)(a))",
   "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)(b))",
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "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(2))",
   "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(20))",
   "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(4))",
   "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(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "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": "2",
   "Subparagraph": "(SAB Topic 5.P.4.b.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-23"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r100": {
   "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"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "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"
  },
  "r112": {
   "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"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r114": {
   "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"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r116": {
   "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"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "c",
   "Publisher": "SEC"
  },
  "r119": {
   "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"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481034/205-10-S45-5"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480922/205-10-S99-3"
  },
  "r126": {
   "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"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-5C"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "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"
  },
  "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(16))",
   "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(17))",
   "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(18))",
   "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(30)(a)(4))",
   "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(4))",
   "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(6))",
   "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(8))",
   "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(9))",
   "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": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-17A"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r155": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r168": {
   "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"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r172": {
   "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"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r176": {
   "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)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r254": {
   "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"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r256": {
   "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"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-4"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r286": {
   "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"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3A"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3A"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r330": {
   "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"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-1"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-2"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-3"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-3"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3A",
   "Subparagraph": "(24)(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r363": {
   "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"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-11"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r373": {
   "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"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7"
  },
  "r375": {
   "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"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r377": {
   "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"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-3A"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r401": {
   "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"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-4"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-7"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-8"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r472": {
   "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"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r508": {
   "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"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "17",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17"
  },
  "r510": {
   "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"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r571": {
   "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"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8A"
  },
  "r626": {
   "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"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r636": {
   "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"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r638": {
   "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"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r644": {
   "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"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-30"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-32"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482804/825-20-50-1"
  },
  "r665": {
   "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"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r672": {
   "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"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r679": {
   "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"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r683": {
   "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"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "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"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "940",
   "SubTopic": "820",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1"
  },
  "r691": {
   "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"
  },
  "r692": {
   "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(14)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r693": {
   "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(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r694": {
   "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(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r695": {
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478671/942-235-S50-1"
  },
  "r698": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r699": {
   "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"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477617/942-740-50-1"
  },
  "r702": {
   "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"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r710": {
   "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"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r712": {
   "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(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r738": {
   "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"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r740": {
   "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"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "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"
  },
  "r748": {
   "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"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478822/944-740-50-1"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "805",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478072/944-805-50-1"
  },
  "r751": {
   "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"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r755": {
   "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"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r760": {
   "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"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-6"
  },
  "r762": {
   "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"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-12"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r771": {
   "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"
  },
  "r772": {
   "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"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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"
  },
  "r783": {
   "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"
  },
  "r784": {
   "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"
  },
  "r785": {
   "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"
  },
  "r786": {
   "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"
  },
  "r787": {
   "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"
  },
  "r788": {
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "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"
  },
  "r799": {
   "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"
  },
  "r800": {
   "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"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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"
  },
  "r804": {
   "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"
  },
  "r805": {
   "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"
  },
  "r806": {
   "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"
  },
  "r807": {
   "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"
  },
  "r808": {
   "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"
  },
  "r809": {
   "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"
  },
  "r810": {
   "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"
  },
  "r811": {
   "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"
  },
  "r812": {
   "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"
  },
  "r813": {
   "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"
  },
  "r814": {
   "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"
  },
  "r815": {
   "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"
  },
  "r816": {
   "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"
  },
  "r817": {
   "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"
  },
  "r818": {
   "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"
  },
  "r819": {
   "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"
  },
  "r820": {
   "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"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5A",
   "Subparagraph": "(SX 210.12-13A(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r831": {
   "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"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r833": {
   "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"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478322/948-310-S50-2"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r840": {
   "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"
  },
  "r841": {
   "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"
  },
  "r842": {
   "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"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-10"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r846": {
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "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"
  },
  "r849": {
   "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"
  },
  "r850": {
   "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"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-15"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-20"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-21"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-12"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-11"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-14"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-18"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-21"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-24"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-4"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r864": {
   "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"
  },
  "r865": {
   "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"
  },
  "r866": {
   "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"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "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"
  },
  "r871": {
   "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"
  },
  "r872": {
   "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"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481899/410-30-55-16"
  },
  "r877": {
   "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"
  },
  "r878": {
   "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"
  },
  "r879": {
   "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"
  },
  "r880": {
   "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"
  },
  "r881": {
   "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"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "64",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-64"
  },
  "r883": {
   "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"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7"
  },
  "r888": {
   "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"
  },
  "r889": {
   "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"
  },
  "r890": {
   "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"
  },
  "r891": {
   "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"
  },
  "r892": {
   "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"
  },
  "r893": {
   "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"
  },
  "r894": {
   "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"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-18"
  },
  "r901": {
   "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"
  },
  "r902": {
   "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"
  },
  "r903": {
   "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"
  },
  "r904": {
   "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"
  },
  "r905": {
   "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"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-8"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "39",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-39"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-41"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "43",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-43"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-47"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-29"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-29"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478064/805-740-55-13"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "181",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-181"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "184",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-184"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r946": {
   "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"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r948": {
   "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"
  },
  "r949": {
   "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"
  },
  "r950": {
   "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"
  },
  "r951": {
   "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"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-12"
  },
  "r953": {
   "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"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r955": {
   "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"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r958": {
   "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"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r960": {
   "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"
  },
  "r961": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "605",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-11"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "605",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-14"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r966": {
   "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"
  },
  "r967": {
   "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"
  },
  "r968": {
   "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"
  },
  "r969": {
   "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"
  },
  "r970": {
   "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"
  },
  "r971": {
   "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"
  },
  "r972": {
   "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"
  },
  "r973": {
   "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"
  },
  "r974": {
   "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"
  },
  "r975": {
   "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"
  },
  "r976": {
   "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"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r982": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r983": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r984": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r985": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r986": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r988": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r989": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r991": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r1012": {
   "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"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r1017": {
   "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"
  },
  "r1018": {
   "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"
  },
  "r1019": {
   "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"
  },
  "r1020": {
   "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"
  },
  "r1021": {
   "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"
  },
  "r1022": {
   "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"
  },
  "r1023": {
   "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"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1036": {
   "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"
  },
  "r1037": {
   "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"
  },
  "r1038": {
   "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"
  },
  "r1039": {
   "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"
  },
  "r1040": {
   "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"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r1046": {
   "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"
  },
  "r1047": {
   "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"
  },
  "r1048": {
   "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"
  },
  "r1049": {
   "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"
  },
  "r1050": {
   "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"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r1058": {
   "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"
  },
  "r1059": {
   "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"
  },
  "r1060": {
   "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"
  },
  "r1061": {
   "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"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-12"
  },
  "r1078": {
   "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"
  },
  "r1079": {
   "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"
  },
  "r1080": {
   "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"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1083": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1087": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1108": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1109": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1110": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(r)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(s)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(t)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(u)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-30"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-31"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-32"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-33"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1126": {
   "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"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4"
  },
  "r1132": {
   "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"
  },
  "r1133": {
   "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)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1134": {
   "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"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1137": {
   "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"
  },
  "r1138": {
   "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"
  },
  "r1139": {
   "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"
  },
  "r1140": {
   "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"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1143": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1144": {
   "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"
  },
  "r1145": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1146": {
   "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"
  },
  "r1147": {
   "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"
  },
  "r1148": {
   "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"
  },
  "r1149": {
   "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"
  },
  "r1150": {
   "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"
  },
  "r1151": {
   "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"
  },
  "r1152": {
   "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"
  },
  "r1153": {
   "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"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r1155": {
   "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"
  },
  "r1156": {
   "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"
  },
  "r1157": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1158": {
   "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"
  },
  "r1159": {
   "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"
  },
  "r1160": {
   "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"
  },
  "r1161": {
   "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"
  },
  "r1162": {
   "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"
  },
  "r1163": {
   "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"
  },
  "r1164": {
   "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"
  },
  "r1165": {
   "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"
  },
  "r1166": {
   "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"
  },
  "r1167": {
   "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"
  },
  "r1168": {
   "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"
  },
  "r1169": {
   "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"
  },
  "r1170": {
   "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"
  },
  "r1171": {
   "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"
  },
  "r1172": {
   "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"
  },
  "r1173": {
   "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"
  },
  "r1174": {
   "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"
  },
  "r1175": {
   "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"
  },
  "r1176": {
   "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"
  },
  "r1177": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1178": {
   "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"
  },
  "r1179": {
   "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"
  },
  "r1180": {
   "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"
  },
  "r1181": {
   "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"
  },
  "r1182": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-5"
  },
  "r1183": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r1184": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r1185": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r1186": {
   "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"
  },
  "r1187": {
   "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"
  },
  "r1188": {
   "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"
  },
  "r1189": {
   "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"
  },
  "r1190": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-7"
  },
  "r1191": {
   "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"
  },
  "r1192": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r1193": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r1194": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1195": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r1196": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r1197": {
   "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"
  },
  "r1198": {
   "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"
  },
  "r1199": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480190/470-10-S50-1"
  },
  "r1200": {
   "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"
  },
  "r1201": {
   "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"
  },
  "r1202": {
   "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"
  },
  "r1203": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r1204": {
   "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"
  },
  "r1205": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r1206": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480606/715-80-35-1"
  },
  "r1207": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r1208": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-9"
  },
  "r1209": {
   "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"
  },
  "r1210": {
   "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"
  },
  "r1211": {
   "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"
  },
  "r1212": {
   "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"
  },
  "r1213": {
   "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"
  },
  "r1214": {
   "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"
  },
  "r1215": {
   "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"
  },
  "r1216": {
   "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"
  },
  "r1217": {
   "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"
  },
  "r1218": {
   "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"
  },
  "r1219": {
   "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"
  },
  "r1220": {
   "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"
  },
  "r1221": {
   "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"
  },
  "r1222": {
   "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"
  },
  "r1223": {
   "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"
  },
  "r1224": {
   "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"
  },
  "r1225": {
   "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"
  },
  "r1226": {
   "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"
  },
  "r1227": {
   "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"
  },
  "r1228": {
   "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"
  },
  "r1229": {
   "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"
  },
  "r1230": {
   "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"
  },
  "r1231": {
   "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"
  },
  "r1232": {
   "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"
  },
  "r1233": {
   "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"
  },
  "r1234": {
   "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"
  },
  "r1235": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1236": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1237": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1238": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r1239": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1240": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1241": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1242": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2"
  },
  "r1243": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r1244": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r1245": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r1246": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r1247": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B"
  },
  "r1248": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A"
  },
  "r1249": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1250": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1251": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1252": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480682/815-20-25-6A"
  },
  "r1253": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r1254": {
   "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"
  },
  "r1255": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1256": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1257": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1258": {
   "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"
  },
  "r1259": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1260": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1261": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1262": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1263": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1264": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1265": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1266": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1267": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1268": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r1269": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-13"
  },
  "r1270": {
   "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"
  },
  "r1271": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1272": {
   "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"
  },
  "r1273": {
   "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"
  },
  "r1274": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r1275": {
   "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"
  },
  "r1276": {
   "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"
  },
  "r1277": {
   "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"
  },
  "r1278": {
   "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"
  },
  "r1279": {
   "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"
  },
  "r1280": {
   "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"
  },
  "r1281": {
   "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"
  },
  "r1282": {
   "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"
  },
  "r1283": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2"
  },
  "r1284": {
   "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"
  },
  "r1285": {
   "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"
  },
  "r1286": {
   "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"
  },
  "r1287": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1288": {
   "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"
  },
  "r1289": {
   "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"
  },
  "r1290": {
   "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"
  },
  "r1291": {
   "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"
  },
  "r1292": {
   "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"
  },
  "r1293": {
   "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"
  },
  "r1294": {
   "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"
  },
  "r1295": {
   "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"
  },
  "r1296": {
   "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"
  },
  "r1297": {
   "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"
  },
  "r1298": {
   "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"
  },
  "r1299": {
   "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"
  },
  "r1300": {
   "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"
  },
  "r1301": {
   "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"
  },
  "r1302": {
   "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"
  },
  "r1303": {
   "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"
  },
  "r1304": {
   "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"
  },
  "r1305": {
   "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"
  },
  "r1306": {
   "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"
  },
  "r1307": {
   "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"
  },
  "r1308": {
   "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"
  },
  "r1309": {
   "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"
  },
  "r1310": {
   "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"
  },
  "r1311": {
   "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"
  },
  "r1312": {
   "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"
  },
  "r1313": {
   "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"
  },
  "r1314": {
   "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"
  },
  "r1315": {
   "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"
  },
  "r1316": {
   "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"
  },
  "r1317": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1318": {
   "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(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r1319": {
   "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"
  },
  "r1320": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1321": {
   "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"
  },
  "r1322": {
   "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"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>80
<FILENAME>0000352825-25-000134-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000352825-25-000134-xbrl.zip
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
M0?6]]  (4!1S<5W:F2%U19V(F(LX*8O92XLTAAFD+@6 @8#5KB$XC\06<AP
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
MKIQU&EFKRI*FUC>IYU*L_7*CUI22OTJ[^/-;+:R;^9<Q&C5E&E96EVI9KWR
M!I$;6*J%P'-L2YC+Q7PAE^@ROLGZV;&:V9-G(?!- &X0^E5B7$M-5?KWLUQ[
MMD<5 3E@A=Q_O0-T^E.B:7#5\9Z]?Q- (HI9;^;_V_2]:33^P\LUIJ^' %;1
MI.EK)$]V-0JZ1E',Q8K]T4I<HMD6^R9ZZX_/G]B6Y> <59"B[67DI%4U3_C9
M#H@9$)*B6G-U4Z^T[FM?:\*=%\"[":#7X"W>MMJ%N5/PR#9BLIW]J?.*P*@C
M5"*6G;^@CH "(9ABDVQD6(+M"G88"& &$F_VYR1"?$!M<TTBU8\"&8-YATS&
MVH#?9L-M5FSO4BR)FEXS&D8N*T8=[J3F<B=-J\GJ7FM/KBXA,V[20<JTZ\Y7
M-# !^Z1B^DV4D7#C6:M!JFJ S6M:4WWJ>R_D/N_1*:/2>L2N&[PY+\BUT?:X
MU!X^^0X)NT ^#=!K-]Z5CM)'5HWM1J6EZ%59531#5?<@_^&"<(J5[^..V(:%
MC\*51#V\< Q+_G]FOAU8-HV)D)707H8V'>8_ SK_HG__G")"E"\:][5(3TS,
M;DUXJ@G]FM"93!WO#>BYBC?AP:O]O E)^P2.RK;[IM>:.2U,]5I#KN>SQ*G@
M7B5?PI>X3:JS;5D^#H+X'])909ZKS6:EI<FZ\!NQS]";<.O;+_BC]A13QT+6
M'Z@LMN"E2JL_LT%MP;OD]J0;^+7G#[P?BP59EF%%ML,P&,[\YW%N#Z(:M^<_
M@@$ VG5_^T!6F#$0"O'<<@7R(WBXR/G_[&EDHL445BLM65>4-5#M]GB9(=N>
M*U5,!K+$3WV H3U%CH!?L3DC!]#A8UBR<'":!9XAL@ @!(*(!->>Y7V=3_M+
M 5%S;1^C%=QK1(4K'U'_<PH-1Q*RG<>QYWX(8,MZI=54&E556U?5A22Z[01"
M1-#W^-A__]109.-S((38P5/RAH)+7U$DQK$S(Z@6$% 4R&-M2:E*>JE2&'&J
M7M/41BK3:_/GJM;,Q8A3M)K>2&</'G]20"G=V$ZIW,.EN6<F[,RDI A:VA:/
M@J78QY8P7=]8%V3ETW"QF]XVP^NC+J8%D8.V/B OB9$Y%DP'!4&!2V=11/ 1
M58;]M\G0<SX5:CT41(*'> .!P@#/\T5 "GZ,;?CD7532",'&C;O/Q9,E]SRF
M6+&\R<J0"M7"D*A'^^Q 2UJQ7!2FR!=>2%4]X6^PKLD9LI?VVXNX#/K'0AS)
M\(+X1J5UUQ\\<1KGBO%Y0EFT!?LQ#$#4QX<(0(-HF,!"?PJ_.MX0/+8^V*1F
M*)"$?ASN]EI3^S!)QW_V.39T0K)WHP:<6!B^">88FW\($W*\X<<8TX VL3J6
MMG,_R3]'Z45C% @CVP&C!3D.C"")@<26^7-F$TL&#)@AC@? C3-F"0H6? LK
M(QDZ];&)Z3HI*P)-5PZ$3W _DIL7S&"1",8>V5V>9^:%8Q1^?(L?:'6J9)[1
MQ?&+_"P*R+6$3\K2VPX!23!H^!^"&+B(CH<KR53BFY$$TD"89PE.41 *34FP
MT%M02TC02AEYN9GY/B8=G<D,B8H)43@+%MAN5EJ_X^ CAH7XI,#R@X4';_YG
MG+>Z.U-,V7;VYNQ03M@-G)[880@ H3K"]URB(YTW 8.^?!.Z1,J12:,]MRA$
M4>;:!_R_WV/9LG^:P4A-T@FZP4^>16<NA7YU('P*8JM?495:/"0<VS1E8DI2
M)HXM"=&,%]C&P<\Y('>)5H14,9 7QUFD/9 K+#__ /PVM^'W-#A4TN,0&(\$
M!]X""\@T 8<DZ<NBC/&)ADK\5  B5A._""8 8'B*/U<AP#J:H202A0RW P5&
M*/8L//O>CW \_[H&^AG3N5EX9+LT\9F&/DEL1X'7W#!#^K7\>3YLYX#-\YL/
M)$HY'KQAKO.1MAO)&=C!566^S"RO+;5,L"E%Y$G1:PU-RRG(HS73W6ECD$<&
MQ993HJ<.?DNZ]]A(*J56UT^YJ;F\ W_RU?">"&RD0Y>$,OJ 2J:0J%KSBT/D
M.RQ#TL.JB<.RT_.>XN[? +>>/?\MP>>A@R@+S7C0N_NCR)56^Z,.7EMVU_X7
MK\-"KAD\S(G$0]*B.7][+@A'IW\_6OLC';0P *(_XZ4]=<( O>?760 /"X*=
MIZKW.%:=&OF%H.!X8#DY*CJQD1?A(++TLF%B?L=?Z;WB#/V=ASP5=?<ISWW3
MT5CT2D9;K'^R3YOHM-BC)+^9>LN@0%V/.KNS(/(<X"VC,^L)9R?!^2#/<M[(
MPW_8\&C"61=>RR/.P(L=4(7L(M>TD4,<#9(>3 :3RD86\JU (/D^MK5I#TW]
MA'Y.= )6G=N3A$/VO0W;7FDPQHXSAXCP"1A/?</HD,=VSRLII!#]_!T'"0S9
M-'H>!LC[R&=S+YJ=Z*1K\L-3KX2$6WLK.VW/E?#L0H64MFT:VNB9H3><VR-*
M(ZIU(1(L^UCX07[$/+BCD2U0,C/7CC@0T#ZUE0]<42H@(:8-)DGP2Z7[<)<0
MX*7;<W1W+FIUVYN%5,&!IEMEFCN;5"V/GC@F-X2E'=9KN)>T8*%.RBR):E,5
M):DYY^)\JBTAFN)<./WU9!TSVBH,$K<*B>*.;B$*WOL<-T=4#H7#<NFUJ1>M
M&G&1NA>\L1A;'%F1WB]!P\!S9N'F2]+LWWPLXK9?>3EC45YN[+];8L^X.O0Q
M^J.*1O#0:^3\0&\!,=W.JP;=?H(7'9WL]0>=)U+.[;']\#NM\=;__K7?O>VV
MG[I;2M,5>:H]Z76VE03H/MQV_K<8'7C(VE:*6&=#K4GU? XXR%K-4+<'._-U
M_Q(\,9]P@Y&DG$=04SDEG6T]WK'QO4:C8WB7VR3T"V)A&L+8)[;#3WL4+Y6
M3>VG@= %#;IPE+IN9#3 7;]<H0P'')+/9LOZEL/9A\8LCGQT*+Z^2@9'52_G
MGU")NZZ2SS9+&$?B3B2JL+Z%>"+(RTBD9W9H=L3UA2(Q*>:Z L;(R%T!HZYQ
M+&;"(LUYA M=$D"Z(97OR1D[$IWZBAR )A; ,<9A<! F\SEJ2SG-F9R-R>H&
M!I966VQ?MQ)41;4I<5V1"4;-C;KB??&B@:$ICA[#M4;)V:UQK2$K=:XVLN"(
M[!KOI39(\-W'8](&Y@4+I.+-! M<@Y2;\SK7(')]:[H(Q]%.'.G[:A 4C(4[
MQ_O!#8^2L[M^>6J#0R8#9!I[:@BZ=3SV''A$$._D"IT_9W;XQC5&N=EO7)[&
M6#,TFCPRGPE'JD:RG$.83N@)&_1)4L2>ZXYR\[QY6;HC:5-/D;D)D@E'#27>
MU5-JPC?DHF>J&A;98K=V8,ZB!@[DA%[;1<Y;8%.;Y%VC$)43Y?V2,4\XF#D\
MHGI>$%$4KFL4E>_:9LQED6)EH]:$?Y!4?CND"9]4;\ 'SOQOHG8<+YB15%8T
M]&;S0A["DQW\P75)R2&@RER9*#J/KF9$TCP?2:L1"R3T@8M4D3SZGHDMHCNX
MIB@Y?R](4W"]D!=NZO.,V6Y-Z-%C;EG39;E*8(>U*O=$JHK!<\(R(JGYGLQ\
MCY^1$UD-M.@6-QO*SEFN(T!'-/BN2C8DR?/0J-RNT<"#<(?,T/.Y?B@[5[E^
MN*ZJ$M\YR8@D_7WKY+N[5.R_CYSH"'Z4HK%< Y?$)[X'M!)Z;'!P;5)V#%RB
M-N&@R0*:QOLVR"T>(;I=^GU**@5CU_;\)87!E4/)^7R)RF'-U%#XQFDV))$"
MG_.]CF]P+9@8(PR6Q=(^*=<4)>?O)6H*#IHLH-%BI:#S?8[SX^PEJH,UPT'C
MFZ$9D63$.J)>$SJO8WMH\[3OTC-4O;"J&(FJH<ZW0#.6<R+-XH'X* 3W@>N$
MDG-2W5KS8E?)\KB,HVS G)?J;=*_EUA5KA*O"5P\5H%3)8]"LJ347U&59(^"
M^*26[ 4(7LII["]XL!0/: 556@4$D)=\IJ[84MA);T\J?_HA*2EY]"KG:3%P
MUWUH/]QTV_="]^&N]_2M/>CV'M9US)X2I58VZSRBX-1M^NV$[!"(C1[WT&21
M*8F'1P_D27T'3^JK/(E;V=)/;'*T=5?9 2:+6#.P1MWT'FX[#_W.+<S^H=^[
M[]ZV!_#'U_8]"%Q'Z/_6Z0R8?H%/75<(Q]XL0*X5B*2)."8-D4FU>L%"(5IT
M52]%66M#KRF-!F,M_&0I==^]$TU*/6'5[L.+>Y^H[_;'ZMX;&F^!>.#)$/N"
M*HG45B>=+O+K3%X6.MQB,R:#O""#=DC9\WS@L[&A.WG_LM#TTW<7S2P[Q-;/
M^0%J+\KL&X$:(O./9]\#*Z8:D\,T,09OXJ#0U.E,,4K>=K^_O!AOINS.M]Q%
M\M)<GYK=(_H_QMB=+$UQWVP!!0&FA=0/X/N'UTU-=U:OSTG,!?IODU4 D J
M)#?4)+^0KNTOR%GQLG)2 6FH)@EI [PGIMK?/E(GU=M]_AB#9N6U-K8?FP76
MQ]YCZG+O,?)7U'IL%E2?$9I>$URU78O\TWD'53N\0;Y/>C+^D[3^VJ\#F3KO
M0*:27!514QIKS<=6FPL=PI2YH.[-G'P6)BX5YR456@%208KDB)JN,2(5.9E+
M;"^;[:A?;"#XX.(!'TG8IRJX.!0^D7IX@KZ/<W*8*:.D(V6BUBBM?.U8=>9L
MH34)0=#N/>0&3PL6/> P-GC3RIA::=4U6'K6^UZF%+(M8#_&TL,!E4UA'PU0
M&@54T\ALR^0$J,MP=F $(7/L[JYH;/4PC;U/T&&;@.UKYY56P';Y"3%+_F6'
MXYM9 *^#_3;A#HA66IG2*RU#;&HJ(X80A]")C.H<(52OM.2Z:"@2(QBZ"&.Z
MZ[[ "NKYY)CRLDJN<R.Z")4\9\?; ?)C@%G3%/5Z9AW,[62V,+-#!V?!#.E%
M((FZ5&<$,SMT[CQ[ R:*-T.L^%&7\1KGX9A$A^C,E<TX[HX4L/911E#C,3C0
ML6]66@U1UC,'BK@3PA9P=BR F8&C26 Z@?=J, *<2UT^MA@1JE'X\I&<M#/P
M0N3DL7SD9 ;OG6AV7BIBU^9$%NT@5UJRKHHZ:8>1BY6<)AF0=;?K0O&V:^\B
M"]X4$@B3Q;JDEP%O%^$D//K>%*;Q)@JPPKFA2-.V2,;6E!R+B2)GW&DH0+'/
M&?-(V-)VK<Z<)_![=( )WV,4X"?R^-[H>X"I:+;)J<JV:<XF,X=TRKO%4Q^>
M0L] P97MB0>$^HO^F59ZU4K+(,8D*V%LCL33J'SVD*@!$G51-7AVTBG#25'W
M._=9< BW!4J3JC>JSN"/Y;UOOK]21(QISITD44PK7Z0*K"3*$D],.C,0[8HW
MY0DBLNO=$+5&9G.!K60D-G4S#?5G.6_#ZCDI1LY9L;TT_^IYU@_;<>(4!XVG
M.!2Q!,^YD%91DA)HBMALYA6$XZLM(WC9L=H>BA=2AEL6FU+F31VV%E:V56RT
MPMINB-QG>^A\2"H[4./RR$0VC7MGP[7XWG[!5G?!F2A"G3YE2&N"P:J(<O;L
M>1[?8@M%._1PKBC2)4"1)C8DF1$4\2WW\BPRMWB$?=)R*42O\Y!:M, TN4E?
MQ (S9TC7-;T)'J#7@]6"7&DIJMAL<"/_S!"T8W')#T'D1'8#S/XSBZ>QK9&7
M VO<Q"\V=_;!<\V#\DYTM=+21+F>^2P -^S9PL[^Z;.'8T>CY6$:K)S_Y.8\
M0YLQ&Q)G>X/VO9"AYMT6F^O@A+AS+?J3[KW/0NOME1&<5LV1+7]5%1N-O/;\
M]^-(0:X+%R,N1GLE.J<5HSH1(TW4];R\M..)T7GD0R0OP??=]M?N?7?0[?2C
MHO:#WLW__-:[O^T\]?_[IX8B&Y^%SC^^=P>_%YDLL<1;%1AH>3-2\6N%N47E
M4:29VGG8<MM+V3HV&MH.[6'-Z]E>7#W;16&^*7JC5?EX'=M<K(ZSK=BYRT2/
M\?08P>FPTU0ZR1LR1$,]H[ 6EX/SDH,]"R%FDX-&I:5+HE26$-V9;57[^ 6[
M,YRMX"'?9<R_X.%];+*^'2A6S4JK*4K9:X[P#6NVH'1 X<.,4*J3G"A)5'([
M]LU(Z(-M#0V+JS\#!0T^B^\Y3G2P>S)UO#>,A2%V\<CF>]J%:.M.S(4G3 _&
MWK_'%@Z4+YFH:EGGB:MGAJ,=JCIW')'Z'+JH-DMB21>_C<V+)IZ;7S,/^(+4
MS'PJ2Z0=MN.YS]40^Q.0Q^'\T(?!?9TB5L][X,4 6'$+G*!M;Z9VB!QZ8KDW
MA)>D%27>->":DE-)$2)6SDYQT)QFJ<P*&HTET%R$^Q)GWL9.S-+^&W=9BMFQ
M('S(;F+J($BJJ,FLE.[A #I9J#\? -7I*4U-8\79Y<9]64O:9EU3<K+)+K3.
MZ"XK/[.BB+N&J)E7FK1\*H$?<*&8V^4D9,9<H])J-$2EF5?7$5[?-BL\[G.,
MW' ;\!21F[0RUZRT](:HZYDW%[E'P1::<@GII$23(55:6ETTC))L@9Q'T'VE
M[L626<Z+7S!5_&+)/DI?O\ @S29$J<Y*^0*.HH(*8&1#$=FB%N7<CE?QZ,_E
M],-[=P6\#Z7,^>X"2\7+%]F&!Q=M,-1*2]%%(WO"(?<)V )2J@+F.0!)H]7\
MC.R5\+D[D';K]SWGAI% _?E*U3XUF);-MH/%2:?%=+3,M3&Y#\ 6@/8IQ)0+
M@.JDDE==RKSYR\W_(YC_3"XF_= S_QA[CH7]8%[Z@?2W"]]XHXS"JCA8]LOI
M,WN]R<0C#P0\B,(4^<(+<F98^-LV1?>(_?X8^7BKPNL^W*V?HB(/H]A[1'[/
M[X<D0_^?Y('OM]Q']4D+U6=L5\F;9JJ>?J:-2DNJ)13 7OM %- L''L^<-$2
M-KY<0.809.  ?8F@O7A4VO=I;J%\\N12$#WCY!H2N+J2"%)#_G\WR85HPI_C
M?P4["$A^)0J%/IZ&>#+$?K24JI(H*)*BTW-CM]A<_DJF7VGBT7G6I;-+2Q+Y
M^/PZ;&(D>"F+LJR+AK'N4:Y]L&"2-PN#$/A (E:GX51J@O3>IYB6*FIT.E0S
MQ(:TGCA!W^K8.,LP>XW.7C? KU'7BWN+ MQ]BN&/%^R\+0P.NOYQ'_:D)^07
M+*=KV[IOT2"IR3)W3<\,%SN/N^_$19TE7)QZIZ8H%C\BVZK:KF!&:1U\6Z:(
M0Q_PWN0>R"'<Z+IQBDW*F$T#'!=-%?7LC0OX9@Q;\-EUY",?^#0B^&3?\N=;
M,/O#X F'"#ZT!(Q\%V;--UZ*4,!S+G1B)K1-<S:9T6(/MWADFW;:^'F#]+@S
M%-%@)H+.H70:99P[E)H2/1(-GB\K%<).NHM11 1[X&,4S/RW*(8M5$DLR/2"
M,/?HSOQ!U"V*/:3X1JF"(TVYTFH 1IH)Z=3'B.OD-F^ETM(U152U]2/_,*7W
M?81Y@.[ H%Q.L:&+-%0_Y;C.)N F#@:D4XDJC<4WI'6TKV6P<R>G+-C9L;#F
MA1V-[@TH"8;9R;%S$1[.D@$D>#3A#!3[U,=C[ :@D 7'"[C3<R)M',#4X;>$
MFA%S%M$,HIME!D7G">Z!2P\X[(T&Z#6MQ.E46QOR>I+P_A+'O2#&L+6FK8O!
M5AVP)0.VUO<S3XZM/'<,&*_L<5_[6A/NP",";4X8BMS85TK,_RIR3R%#@S&F
M9#-'(WPY4:]#&916Z P2W-+ _LZ\69>*2R4PSR\1;COL]NQP:Q"X-40U0<FS
M!K>+L.A)5CD,(L7.2:*4#6#P<1 R6=OIC.5NAYK_9KN>#]+6C=F3(%C-2LO(
M7H,Z%0M*8+1?(I9VZ/#=6()'DC)@>>UV,:2ARVNEE\PB/V\)2VV4@V_LS @Q
M'CV?W+T=AKX]G(6D@=? 6UV#W^4RE64E2Z16B*&+>C.O,K%,%._C2#VI/7\2
MI)*4?J,I2KD5-&:KY%^60UZG7EQZ@_:]<.3.SUMLN3UMAX@9:UV5+[SC?#:J
MG(5^VU4\\?WX=-NU,D<O9$DEK>I5L='(*W\G#U86Y(=QV>6R>YK"POG(KD9D
M5\LC*;I@V:4&R14UR>:I3_!C/MT)\I]MESY77Y4;$Q.#[:2@4*B1,<:D)TFT
MMT2BC*X7DOPO'SYV:<CQV0<7=XK\D/2-"L<XP,*-YUK8#;!%?J/$HUD'=[:+
M7-.&X?3,]01>*:BMIH$MT2*>AEJ'>4Z]@&;67_ND\YO]@C__L*UP/ ?NTE4Q
M0Z7W2] 09C +-U_" )75#\EP2S_)1(D4V*ILX)$)_R%%T8P1'C;4H:28JHHD
MW6Q(TK]E<FP[NFCLSR<_1<^X.O0Q^J.*1O!NU\CY@=X" L5EW 'HENF]!ZG^
M,PM">_2VF5:C4>YF+] JD@G0%)Y/Z]U>@VACGXR"F2 6IB&,?:(C?]K-, /$
MBR@"(CBD"RV1AR]7J)4$!K;P&F\\]_J#SI-PT_OVV'[X/?(^OG_M=V^[[2=P
M1S9*-@,O<--[N.T\]#NW,/N'?N^^>]L>=(CS!/]\ZSP,^D+O3N@]=I[:@RX,
M8/E5/GUW$7C]H&!_9GJ:71=6!V\6(-<*1 &_FAB6SRGVHY1B 98(M'@!NCZ^
MJW2Z&,,<'30-\/7\E\_SJCZV2Q]'+_H<+Z'Q.D!6T8^^.J%%]/6[GJM)D:Z+
M0P7QD^.O:_#5U?KGNE8SFLE?234YY>>JHJ:Z8M.DFC752/ML/J=L<])T+;<Y
M;;_3CG#6GC62M@YKK@U+\.(B)7)TQZ6QWRD16'"Q\ W&C0.A ^NP]67H7[46
MYQ,$51+WB'V=&54>X),T1#D!M)9B%2EBOLQ2F)QVV2>FNL^[7@B]M*QR>'XD
MX1#* J%8:WV,&0 A"E9D^[*%/V?7<WC)489V(C>4'$5.U#;^V?.LW#L*I*'0
M&>TY)+W=6>P=Z+L.[K]@=X;O?&]"@F+DCO^RP_'-+( WP_XBR:$=!!C^STI_
M6$662.4S11,;*BLU5KB8<#'Y(";UXL6$%H)KBJJR7N>1BPD+>.)B4C6*%Q.C
MTE(U2=0T5IJF<#'A8O)!3!K%BTF#B$E=!!^>$3$YC^30'2X97/]BF[R1T''$
MJEF\6)$*=ZJHZ7FU8&<@.Y%CBV!+E@H'ETQJWC5$6<N<[,_!Q1BXY.+!)8-!
MT!3EQGK-.0ZN<H-+*1Y<I*)A750;)6F<7.KX?W3,U<6A$!"SDY]J/;W$[2RL
M?'R)(VUMU(:H-(Y>'B1ARYJ?8643ESNK-!\?EZ30I&J(6IWCDN-RCLOB84E:
M QM-L:YR6')8SF%9_-ZX3#H.2XJH-_(*T_(#_@<W< W"158-H9O%@[@%)*00
M-O1&L>BE%B>CTFJJ8C.AZ"X/<I0:-3OR,[*AIE%I-9IYN%(<-6RA9D>Z0C;4
M-"LM16^*FI%YZ>:P80LV.[;O,\%&(1VUZYJH:WF5H.2QTMU&W7Q?_G"[[B([
MF>2X.9]-:&2Z[:Y*F>TZ=G*^.&KVV7;/!AM2/D\7M7/*J.6PV6=#/1ML2.VR
MAB@EM&?CL"DW;'9LE6>#C59I:0U1;[*B;<XY6A=M@IMS\^[@C?"<?*%+C:#O
MV C/)D_DW)ADB(J2<QFZ8O=L..*.N<6=#7'D"):DY=B_FB.N_(@[)N",2DMI
M&J(NYUPEEP.NQ( [Y@Z90LX%R:HHJWEMD;&UX5RBV.2OOA<$PM3W1O9A7:1X
M]L<Q;5?*GD?*G=1"UB1")DH\!X[#;5_#-0/<5 G@IHB&GMEJY7 [&[@=#VUR
MI=501%G.*SK*T59^M.TP6;/ 3:').5INP7BV[-42A5S[..I\BEQ+0-;$=NT@
M]&E_  &_3DD' AZ"9<^,C;GV*W:QCYRV:[576->).)=:*M5*2U%$R<CK-"D3
MBP!'XC$MW",A40,D:J*2=Y\ICL02([$0(.J55ET7-5GF0.1 W,\N/A(2ZY66
M(8O-<BS.YQSB_?0KLMV?!4 )R5 @F0J$D]@7_N/9;BB\8#><^5@8(9/T;RNT
M0?49"^&N0"_PZ![\TYY+RGCU1N"G3N$MWQX=Y(:D@]Z4]$Y;%<*1_8JMZE_8
M]Y+DSZBT:#-8Y3,CF4 <2Z>*XN:.I0;'TKEBZ=10:G(HE0A*GW(-P!X IMV&
MID8VGD0MP<[\F>>ZYH>$]L2#2?Q%6U_.0ZW\;'H1IN(R)WJCKALB]]D>.IA4
M@ B#) F1*ZUZD]=S/#><[# #=^$DI9HEQYA$6>/'T\\-1B=%$=FR$>N\<O'9
MH6B'[9<SC#1J\S%3*^.<PX<]L-&!;>ZS8+NF-SG,Z#MV9LLY2]8.<W#!GRYE
M#W&P4HN37FDU1*69U\'V_=A4 F?](O&VPZS, V]D;TA4E<S%1SC>S@!OQX>;
M :Z+)DIZ7JW_.-[*C+<=EFH>@&L X$CYX<Q9&$<'W)FTVF5UU#E'A+ND2S@.
MPGDT6*B2?@ \)GP:)R" J<-O'[77G"F1\HIS=QX\UYMKM0><?H>%])L2%9U'
MD,\-56NF_@E1I9-&4Z*:_;P81Q5CJ"H25*3!E-C@_:7.#E1K5OLI4:405#6-
MDH2;BS=[RSV*DY<MGZA,FR7A&/OQ1DD&?XCGFF7>%2&,6%;[*^M!DHY7*ZWF
MNH(_>0X9ATAN$-FUD9$:(J2M6&/=7^$8*2]&\H:(7FGITOHI4 Z1\D)DUWY!
M:HS4 2/*^EX[:^G*Q5N*Y1YUWK%_:N$.,3C2>&[OANB55]]@8G/@8TADOI$Y
M[R)HNS,@1;S3Z;G!5\K':-R <+'S&OH(J&F[R'_KAG@2@(8C3_4]>EAX'F5)
M'4DQ2.:'K);B4#!'+POY1BRAMU%IU45P%3EZ.7KW<B!8 B_9Q97$>FZ=XCAZ
MRX_>';X-0_"M2U$2GUR*/@SG'./N+JS]1>;/IR%V\<@.UUQ8'H,XG8$/XA<'
M';Y&W$@M8C(YG-6066D=Q/%SO%#XQMWS?)"DD)82HJ$Q$.7B*#JEJ9L=.FJE
MI8OUA/@H5T+,P2=C(/W(2DBC2DA.L!A9"[67.A;\@,,L1T./[<&53*3RM NC
M8N>'G&"IZY66)JK9M7 J[I0Y4'#.,-L1H<T LWJEI>IBHWGT5G<<9R7 V=%@
M9A";,H=6RAQE9X"R'3'/##!KP**IBO+Q6\7R^.0.>]0A7>U0&/KV<!:BH8.%
MT!/<E4 TV*Q1))H7-"D\=W>#(PB<?-^!:"]Q<^!MVE18%\HF\0*S>X#%ZWP.
MN1,$0/. G"%56CE4(^6(*S7B3@DXV@V/(^["$;=O?#47R"F55CV'HQ"\LDE)
M1W'R<O*6=Q0G+R=O>4==QF[B6OSFOO:U)MQY 1@EPHTW@7D=UJQJ2_#TB '3
M) H795?^[3B1R+W-,[8#Q#MV55?,Y[0Q8D.E&ZNYU=(JWF7CTL2E*</F<39I
MTNC^<5.ZB#P%+DY<G';LD6>3)E*\0)03=DNX,'%A.D=AVI$*D$V:ZE$V0$+!
M&-;$B;OK/!I2WE&<O*<@[_SKN;+5827-=U_O!-<OJ5 5]*3ES4AH:46'\JF=
MZ]3..6KZB$% Q\C'@H5"M#5R2H>-/0?H%EP?[<0&O[Y\UY]S4NA7%-BF@)'O
MPDP#80J" (;]!!P$*@]YYX >,4&EG-YENO<NI7<).KA/L+1]/T'YZ&1V8DS.
M+Z=(7?B3TKL_:51:4DW+ZW!^\<$9+CY<?/81'RT?\6E46FI-O8@6EUQ\N/@D
M;A@<+CU-NOADWAG@TL,,F+CT[",]>B[BTY J+:TF\7:0%SZ*DY>3M[RCSCF
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
MR&F32O_PV4#8>R+I#89R:\K;/VYOO[$?U;>_LD*B+('/G4JCQ<A<G^OIN-M
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
M$/GU<A$Y;E *A7,@"SR&  X*?'HA-MQH:><RCKM 4BLUJJ_;-,!D-!=;"UL
MS+#D^Y7U3VP"%@.%45%,*0A6,;_P_J[)L\2EL([,U(7/8;]A7690*@/O4A!O
M4_"ZC1F TH&'!MAN;O%APEKP)2ECX20;O\PH*OF.!X847@FF*X@W('-463(Y
M$I M!:4#V-$\XLH<2&6^+G37'<P2A(D'4Y!/7*"SHR0P^X ?/KEAX+,E7[AC
M6JK6K^( +."C\20NW#&4Y5"F9.Q@2N'BR0LDWDC?B>O)TF,J^=QTRQ]2(9;*
M#+QP*3/PDD]K4@SLCU1DIK>L7[!TJCYF$-^"-I8,$ET)@<\^3%3==/W?D%\Y
MDP2!#%*(']&"?.)^%'90F'+;)PKJ"(H4?CK+5.<5WP9C)*GA(DMO!K_"G:B5
M!UN';8PA,^RC5HZF"7WFIXAL:"!2D<<'2%HPG3ESR2R=+$!K4Y#!2YDG;2O!
MVTKO!8;O]7:'[XE(O+9%XNTV)K*M%[UYQ@3WGJ;*+G/6#A8Z[])CLM0#D?V\
M<7C$!^=2:!J'ZQ$3JZP#390GX+ZXJ GS!&:3\)E="@_*]M226!]=.C3\F?E8
MTV>\67'S@HX3^#[E[J;EL!8/^E4:LK927!'B'H?!?#BF25!,@)$%*X--=;7E
MB.$5;(KH4%BRU<$+8_MD\>S7)LAMCR%W5TTI04.XG<K'PZY52!SF489PE\9A
M$#'[=>3&R8EBB(=P"]G'A!2H,A'QV/&^#,CU*5P=L2.U1'##V]BOE(1X.3YG
MZ=B3V?-AK[DE@M\NVG<O#6'V1M .YZR5\IK'/QD,O)K@@P?Q\A-F+#)/9SJC
MI8M^6?H> YAV@F2Q/$MZ!-XV"]B9Z_+JI38010$>5] DU J%((;D+V:2+MF?
M '@WAE>CS@2@<##T<JD-PRT32KR8KU=$1A2O7=,'%KX&_!R0R\MVX>63.4!E
M26K7B;MW.?#TL(D=@D;QBL&X.7X>UI1I/8$>&NQF4XN)<MJG:/"'/QAURQ(P
MJV$"J32L9''>&H>,#E\6@XQ6 Y>6)VA+?_)R7K!DPS]YT,SR]F2P*^-<8UH+
M4RK] !_"G-/R0OM;-?YD-)D29?%EX4)-?6"HQ*^X9U?9]IK-MASSXE','$N<
M19O+>2U]6024 8UY+@PLL2&7OA&TX%[#YL)#3UA XIQ=MQ8T!D](74*+?81)
M>\!H5AZ=>*%6-.8D1&MY!)!R;>"IZ%@>S;TEVV;LA Q<A/^FAIL^.L/%LSB*
M6Y_Q"LI;R;CO%J>JZ?(GYZLA7?7L<&\:@Q?9#(K$,&%VJ)M$[6W1[#:!,\$;
MT:VWIB&1R1&TLW!K1"L4[R71C"/*F#4&7"8_L\A.ETEL=LL*YTH_P(&^"T@X
MQ,U]S^1-$$;L_DVF[6PM#5VX&9?QE\LWI;H)'VU"N5DW>\ !0'^9N#/@LF2:
MQ($L+EQY=K2CS>*Z>;CWHF-$,9M:VHEC*<M68W22 273YQ+.C>DT6CO^3FQH
MSOO=-*["IW%B1Z<.11QA#GSD0M.H(:3OP9G0X=RC7T>;)QR?E@SFW4OR9<99
MAYEA+9C;9QU-XPZ/DRQ'P[JS8^$AR7#?2,^4"7VP)3P6XI1&J:8'C8MPB9O3
M<==#[DNFE?HM6/(GJA9D%M&;](>W:2U7UV=+R6YZNWZV9\ZV<C_9"_G72P_
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
M_T!G,9T.:"CIBKSF9SC!$JMFECUXINNK*9JY3[A(V2*W!SZ@;6MMG!JL>^Q
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
MQ7YM0=F"LB^7LNNF:TM1.GW=ZE71B:!^NMZCUSG^GK1=9FV:*XGQ2_9?[P)
M9D'DXH-O0NK!&Y[H,@COE_5NSLD**<M;R"#"V(O=MVQ%-)R^_S-6:E]=AM6_
M)^'2?S"F5X.0DA]79 3CO"'>,WF)<)-6IC-U_:O5M=MCVKE]KT>CLO.V,N;-
M00AD%(0,-C=S[(>.5\%(2!.&(4U"Y"E_<W75HB,'_A!-,ZP1'=CZ0-$<72>*
MZ=B*\B\+#%H6?QJ,)&0K "0P:4D_:U\WJ"75!O3>E;;=OAP^U3L[[^'-S3-:
MGFM[;+8(F&U=;&H3!]6U7W^Y")@],&"VSB*D[0TD% &SYQ<P*Y95Q,6*N-A&
M^" NQLO0K=U_:"F8+-BSSZ6FFJ _07\5TE_M)=8L!:QL(#_-.(L.'H+\!/E5
M2'ZUUZ"S%+W3UWI=V<#4T>;3GPB+O< 8R-KKWUF*T>D;/=DL>A8EPF*/!(G:
M\^DLQ>STS:[<U0J6AA60. XDK-I3O"P%JP4K75DU3QPJW7)OE(AR;;2Z+B)F
M>)1K[>'WEL(*2ENRI5:LS(M8.$'9ETO91@.\9#:H%J8AV]V*>V@)RMYY(BG(
M.G-5VD'3#3AXZG7ZAJ+)IEUQ7ZY2VUMA=&OET:Q%HBV/ #)58XV-J7073.&E
M+__Q-UM3K;>1-*,AVWK?H5(P@/&Q*4<2BX&4O, ?7\4TG$ID'%(ZQ:A&Z1G
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
M+T> !/AI$^;?PN#)C>!Y'X/P/3#%>#3W4E!F<&!5Z?0SXNG8; J.,"=!K>C
M /[;6I:,N)LAT)ZH]R*S80Z7.^4#8O?>J,V]23!WP-YTJYVYUND;1C5[DA.;
M7G1DV$M4VPZ06]^5ZPP!E,?#<LHO-H'W/:Y0-8U0!W"C"8 '<4<\+W@FOD,9
M-W1".@0:!U$"'$P:O$BPC@X:'RE,":O'(L5!RD6E 4&F%G N1\8,A$0:PWKZ
M2=QYN) G# >PT9$+6@X^<@)\,PA189%2-@Q/FI$XIJ$?R?!P(!(Z6"(<_P7F
M!^.5V<\.,M'1/ ;)!V\#PF%L<?DL>(8S#^&+F+U[<0O&Q@/AP%B&;G(=X[BP
M0@'*5LQII$\$;HOF@W]S? "GQRWDW!ID@D\ID."U](7X,&_\&![K@FKI O^>
MP/I?_3F'G8]?TF5%9@V;.6/@<RAG\KS )CS=R4RGA&4E\%RX9 R28O$D-_H!
MG'YE8U'<J-;;:"G=N/08P^Z%WDOR;N08\$[\)>*"S8?-B2(2OEQ7 _U"BDU*
ML$N-XS:%(Y#U'9OK9\ B*PFYK=FHQJ8.TT3*&P4X)T9 O*@D&!Q(;/%D5=PN
M]N\5@KPIMD5G4</2-J\-S6I@$435KKL(XO9E32_A=;N&74Z_TF>&W3I*>-7E
MM'A'/+8(A FCUPM#UEEJHR4.L)+SO@3?UZI8W=26E\*WJ ],Q0-76:TLJ./(
MWJ_CIQ/4A92[1,6=\6JHL]0V$@'K1TG-J=8R[7;Z/67;,FUUI&==V_S/U$T&
MEBJ::?%2W1:1A,=)CZQ",+%M^SH:9=*/A<U&&I#ZF$,ZAW4-V>^JEHNW[WD^
M;R'GFDN[R\W+(EZ[TS>ZVR%[)\^4:;G<6[=(MT\6:C))+S1BXZBKTEC64V&[
MLB.9LUA64C:,[2CS4N9L/:$>C51$CO[J0_JK[1EA8N='F.A-B3#I%HTP^>0_
M43\.PI?7 DDT93N01%.V TD6#SLH?(0]L7$'.8LY26XD/6&+E*%$P'KDO6E@
M6<"4#$)V&!]2&.M?[.R%72A+SQ/7F5"X%&\&SD7#HOOS /</YQ[80(N!)#Z?
M'4=CV$!I:Z_4[;W*.D%TX'<@JB0FQ5W,' \4H_D4$ X+-TP#6S:/M]#SCY]S
M7U2$ZGJ$9Q3#F\/@H.X%A[,XZ[+,:\U^_5AI_\^-GE'-69=281.Y2@>EBP.X
MH@=P:YH].YW?4[MOV3JLGKFERU"H(=MYI[1C/"(&^(P#X,"-.6Z\& /N4BK[
MYUAI"U4EQ>,?",=[&G\=?4^"E(J::)K6Z>NFW*VL3IEHH]$4X EB*W7"?PQB
MPXH-EJSI9]$-JLT5 _\9A#^NP$:9A0%&:XKCCCJE&6[&)_\;WXIR!&9@46#3
M*!T_(\J%-0M*^_+J"J%D=OI=V5*; J4VFU??R;,$6P,WP_Z*L)$Z>3%LQ9=T
M)\K13[?3U[JRWBV:SBOJ##4<2OORXNJ@9#$HF693H-1FS3C=/HP-NL+CEZIU
MX[Q[1"3#T5:E%>QG7TEV0 D*S6;%D\QN565BFU7PY71D*BBU_,*T@ECWU14.
M(=8>V/J*;%;6G[&BC2M?2V81:I-746;_8)NN>D;!-E;18([W=!"_%F>C9\39
MZ!EQ-I\#?WSU2,.IA$]DB=W?*2L4)GUA&?11;L3%(1$H^+)/?@1C8)GP&>/?
M&NFNX X^JXRY:LV+ &*K'>-JLX($K(I!A&L=C-;C8-J8I2TB5T3DBHA<$9$K
MQ\_T>0J\)PPF3 I?C(CC8@D5$<0BSM5K,= _P\._CG@IBZ(ZOPYJC&G+JE9Q
M1H&(5JD=88*J2EG2I:A*QYQ!V>@>O>S$"<)2CID1<X89QG6%R[+D2-;_B1=E
M&[&/6(7/<4AY@4X1=5.#^$WVYC-NS6>7#)@RF,44C$Z_JVQ7W12!-&>-COR2
MWONAPP2188EN>L??W,<@)EZ=,3'E5,RS)90<-HH^VUM_>$=F+NP/HY>O P]+
MBF*=T<(:6)?9-=;%V#4"@&4Y=<4 M)@)T#-*"_P&F !GK3M_IE&TJ+ ,.S@/
MW=BE0E<^3D&>/%]5X(_Q//!U8DL2Q[/("GN:9)C5HF_UV2(FSP]3%C&]AB"F
MS3KU\N1YAOV_#BSK>:QJ3:^&FER,7[>*M6DLQSFYB"JJ#QH*,TC,JM."*]C5
M9I_$")(6)'T:':(P2:O,Q+/*>^T:0=)[ATRN1NM5T'XHV70=F]_Q3C,!C)4U
MF'FBRYBP7];C[9)%4I:WD &LQSS>?<M6/,WI(_34[OHRK/X]"9>!0&-Z-0@I
M^7%%1C#.&^(]DY<(-VDUUM3UKU;7;H]IYT8FCD;'B$+E(!QB0S &HQN /@WQ
M*A@):<(PI$F(C.1O^7&_5J?/ZIEA3.4=\B!V[$;Z6?NZ.Z2T@<&C7WWI_\U]
MRCF79O&BJVOM]F3)C2-@2? ^X"#8=2IRAR[!Q";>FLH!UD)<GY5D@ROOB$_@
M>Y]]]P_L;#J4_ALX%#QA[6;IC9,TP^)MY_"521/#=T$88C&ZM%7AK[+$*)?5
M=HL#=NE'=Q1/I-LI;TG'0XRCF,48)^U=;M,#4NG-RK,WOTQ?(3V[\+QO]W?2
M.^+_D*7[Z]MKF?V,$[MEC(^D']\![_F+^M':M3B&?U+/BZ2/)!P'_%[\"HO;
MW@57#R_^$)[!,'$[1@3Q>]YC*&V8/.HC!7 23WH@&&S&7X#W$];HT75<V)(X
MZ:^U,1.97<<71):FP= =X3*SDG>A&X3I=]AD*SN6+2D(*$T(]N^;DI_N=#Y=
M='K"/H"P%$7;Y=FK0OK3_<?7(BX^)@/YPE_-<0 #!=$-W^ )6D%9#12GZHJL
M9!S )FW78M::#1<I<1*^2-@ 4QJ%@-?;^1@(4U)U1A==["ZW22VZDKT;O-?%
M,&GF25Z/Q->P%>JV7WH9S(YJS-KDKR+JW SGX3/H!A'UES/6._T14-35"R7A
MIMR6=V\][^8V@]<@#9,Q3(.U=1ND6Q"EX>0+XI3F,UR08G!0E3KA8  <S!UP
M8/0/#,ISV1+@KKTAO[(INU$T9X$8L 2?*4M@8(* +R&P/D["/$(#?KWUL$L@
M[[K*752.RSN\(EODC0K]@#4KI#]!">0-#Q,^\.'/N?L$ _</Z&BJJG6NKMGI
M[Z USNC>#'[=P-,#*\_)N@BO+N,K"U5P/;0ZUP,S][/7XRU;#X8XF*CK S$B
ME0/?]V MI!$EK&]DJ:GK=4[=PJ"7S*FWOY/IHEQML#0R):9T<K5J4U"PZK74
MF:-Z,WAAUXQ#PLF?\&^00;M, P)IE%RSY,- +JA8Q7"/2SSO!5O'I-R:L#;R
M4O#L\Z='<Y#O\%9V&'8MW0YYEU&\C:M@%-C/RMO8TRF!FY(',H R703U/]Z2
M%&2'OZXR(KPSGS:A'AL'>^3B62])S5XWW- O)P0;N5(*EWET.$9.R=4_#U69
MD'4[9:E(,=.:TA*_^"UREI4=J*B+:,-@]V[)3E]!V+,+@!B 0K $$0A[,(>P
ME2[KDCN? 3^A;K*;O'<NNP!K1[-,OH>O'[_S3V;>'-9]-O- F463B"=[(9BV
M/F/8!J67Z^4)<)D9EL)IDV9B#--AU:I=']/9Z-#'@]QDU[<+0J]T+/_P[M/C
M^UN&@5$P#[''K\MZH?\Y!X@!6)B"/*0CUU\6B=Y<*Z[,+:?O<MT0F^;BLL&H
M4Z7@ZQ/(>-P*KJ-_G'/(?5\LT4YV#?QS0,-MCKWFSC)>5PC?D<B-'F8A)<.O
M_O\"M;".)O!N=3]>#;;H@EG;G;YR;6ZSZE]D)K)QLM]" "R;FXR(>./PC]_#
M"K](#^X4J',3(86G;]8T?3PIO,Z05+](40 L"D-MH]=FZZ(J,T+K% &66,.+
MIM(HP^>^1YY'<T]ZP]A>/@I_W80A/FF##",V^PA^\<>)N5)XR;OU++FI(.*T
M[3.17Y#0"\_"JFD6*@(GBV[8=A6>AEW3--!&KFXS>C7- NQ>;0<3 X$W2_U,
M[50#,AT08%9X<W1 [-Q#['_E$XR?V-A%;9>5/H*MV]C$>P:$KR,>\@P*Z%WR
MU&C;80$;N7!8)'NH++<0K//X.=BVS$?IDZ5TP-$-$\.)N2+]$0:@(WRF2<^+
M[ZA@R L>FW#O3=WA;E5W^+2J;,#FNL.EOO+JC5SI2!UG4_06(<=/3+8W[J^%
M*4A;L^&U5U8^7>ATXFS>R9KL1T KBX_&>Q;](!- \<C=6*!'QN@'!J&8MM%8
M,0&&8*F@N/2E6P<4?WY"(WUC%R8N />0%=%J61$PWXTLO2!_11R,.\1/]E@0
M4+"^N#Z#\1JP/KH_T94] 44:(7@XM!.U. ?4JZ^+UN \ &T^ #6>[7#AK=.+
M;MVGQ$))I\RWD*]0X2W$#IS7ZNXM;*DSXG:]F1YW5Z<=]=8.=Z1GPBQ\[*SC
MN<S'R;Q2>,F"V>[24M</'!#->' 0S&-T13!CR%LZ2Q-_,_HT9K,P )($=((Z
M7<RKI15*W]SR2V&O+,O*<$IMG..5J1!D9%4(0NEW!?/ %][P5D4O;QM:-L@N
M6C;H P%#V!]'P-<>@(%D% XR>]O%=,S>=N&@]$G((A&B4\ #>^1!'9K8&QI'
MG&_8A!+O=D);P3P"BHE^K88;'5@^:7,;43MW;OWA>Q?C*X8[^GEUE:V:2@U;
M\,>,7F#,*0K"9,'JIK-YS,$#'&J ,V<,;<CG+M$4F"#C\6H$9L3V<;.KF,L/
M>5E7L=956S+5ZZYE-;&P42.K+8E![3NHUQ]U@KI4O;.KQ_0X 35,^@+732+I
M ^I@3!2LEZLJ6:7J_%;E'J-4"BS*24N>%0GD;.P*[]N5>Y^Y7LAZ&67IL'U+
M(B!4!D)M3BIC=@N)V2EN6$05OZDZ^ZS(_95@50SNO =743X]R^'0K:;2)XO-
M ,*C$HGCT!W,N>D:!]+GZW?7TL<@BKGW!AV,-76]N-1J^1=1#'\]M'';"0P(
M_<0 ^CF("J=W885W0]9-H]IJ^&?=G$)04YNI*>=(I1PU\;;(/:5T_K,@I\:@
M2Y#3:^1T3&K2.WU35K6>("9!3!=!3.8QJ<D 34^75;MT%_&CDU-+:C4W]2JQ
MO,TJT7U&WLKWU ^FKH_^RJ;X'S?;(S;(AR:&=I2A783?\9_L%PQZ36)AF=,_
M6HTW%,4]2RMA?%&+>MS2O;GE6Y.F!+ PLNA3%,WID$63%5;1S$Y?563=K*HW
M90/L&@&J/1U/1P-5EX'*4JO2^P6H&@2JFC!E,4P91E7'!@)3#<)4CA?B:*"R
M.:,R2_>3:E8M8XZ/7D/US!6+;B4"96?4B6@I<G8*Z=>EQ7 87?:JTDI%EY$V
M8;*,/EL6DY92E5(K,-DF3-8)2;4JG5A LDV0+*--E\:D5I5*+?HSE4/-A]&(
M.BP?G 5V8ZG,I-2=2Z/#CE+VL67%_>=W?Y5F9V./-Q[BP/G!$I&I'_%,Y)E'
M_,,:EE4DI-HMAW),R$_+JJR\$@&70+<K,>^/P7W@/]$(I!7_\I]N//D8A"/J
MLN_?LYHK_C#*DD08RZ55I1J=F?;3;F#EV(''!I;1Z6N6 %8+@54OKEBKZM*A
MIP)7S<-5CD5V;&!UL6Y\51V;&V)S-?R,(S6Y9@&VLN&E%9=G&K5VR;U@S\@A
MAQI)=:8M]\CM$&L+3;.[HUI6)<IGT1T[@X/L"T;?(<<7AZ'/KD1#%>AK$_I.
M!KY>)6JL %^;P'?(D<1!Z+.52G3=4Z#OU,$^=6%E,]XGO^3CE438'L-%ST<*
M2C_V*6/+Z?FPZ*!=%%WTD-'F!]] [,<^9#PW-\JEXO&PR*#*\,@/O7N]JGPL
M H]GCL=ZX:AS.&H5-U 7<#Q7.!X6$509'K$KK"HK9E5G&Z(.P)E>)9:W674
MSBB<[=T1LD1>\>L4\ SLRAYO?76<5R=^?K)S'@W3SAROV[M:7G^6)')VJUV2
M;6);1N,(WJG7MJ+YY:4$!;6?@HQJ* A#&:[U(Q0[%!0D**C9%%0- 5E,!!WA
M>$X0D""@9A.060T%V:QMJ=I\"A+6MG!FG.]5K2YJF'<$7O69]IX>U66GU#5&
M='ERLM)E:9<4+>8*29">)4=[3!.M^ B_W%;5=(0EJ%-09RUNEMW4V<,XNFNM
MXBQ^09V".B^9.JLB3I6)3D&<@C@%<=;D'GJ%.K$ETW6OM(.H;NH4_HWC^S=^
M8\F[\._0?>JG@&$-6EV'_XX@=?TY*UC2_QTN2Y^WLI$8*^^.7A(ZZ[..W N8
ML2?C?0A/5U<M.G+@#]$TPQK1@:T/%,W1=:*8CJTH_\)"NRLW)2^;DG#L^BD(
MNT"$R2<(O!YPX]=?G3PEH5$=[Y\%D8MSN@FI1_Y_]MZ\R6T<21_^*HQJ]TYU
M!$LMDCKMGHHHN^U>;Q_V^MA]W[\V(!*2V*9(#8\J:S[]+S,!7A)U4*62*!5B
M=F>Z2R0!)/)&XDF\*OLJ[59/ EQX2P[:SE]AHRA Z5O[RDJ?X:.J(!.G8_3+
M9"C^]S1,)S)G$WXS"CG[=L/&,,^7S'M@BPCYHTA]('21=CLLN\P2%>L>CQ^[
M[G[%NH5Z 34:A,2Q+T&?\1"?@IFP)DQ#FX:H[W_8+@D@"%^H\6HPUMZ@J?#C
MZ)>?V6W5OM87E2=AQ2I:7-W^%<1<&[:T7TKJ9=4W70$E"&;\"_O^JQO97A E
M(?\"C[_V OM;;NLL849!0W'G+I9_PX]QL(MSY,DP@;T7']/@:WCW?5G-%>FY
MI/+R@>"C>S/[4PGYNR#4XBF'_P\YUV;P_#32./":HWWF\YAC':UFM74-&[)3
MDVWL-*[3.[)_KQ8BE^(;,'/9]C=FWS7^'7&JB/E>'+)W:[:M;\4 K[G/QVY<
MMZ9WB" X^L!8K66B99;7,A)CU%_+RK6."+8;_NFI%M6%10WU?F>UOD2'?8KF
MW$9+Y2UT#='#0GZ#JY,+?9J-PKYK[\)@]D;(!/AS'^9<*+7H-8?E\6SM/'K[
M/0X9,)/KLW#Q'M@O^BOP<=0P\(!Y)^_1%/*H/EUZ5[=]W;!6 T[:[$?N:7.7
M#1:@IQO=U6L4R]R UQJ!Y3E!+B+L1X'Y8=;$'&N)Y%.Y_6;V6"'3VW2HC Z?
M8)PJ<NVVZALS7_8 XI=A:Q4^X$?:[>NZ"^DL+62-##_EBO!*^L"J6M)/Y:W$
M[NI"I4.PUQ2-?@R%/FRWL?5ISUQ5?8=4Z"L749Y4H0_;!BETPU@]97H"A7XN
MBFW8%O<5>_TUUON1>]K<=>/%N([>WH$=GD*CGTBA#]L=!"-JK5KO/15Z]]0*
M?=A&1ZW=;ZUB\?_TX[)"_Y)KYG]$&S9T7/+ED3 [F0#'A2^&\-L8N)L^,.80
M:S(/PA 6)W$0+C*&,8T?0<G HD*(0C0G@<$">L6%Z0FLYE0'0< 508CB^O3[
M5]@1&.)WH)H3S 1W/DQ=>ZKY095>?F 16:&)#\&,DX[$M'OFR;"*>5[PP'R;
M/S&!.H\G$'OJH.$34,JW7<\ETKR9,G\"//LKAVG#O.&!.]B+./J?E'AW*>UJ
MZY_>8[LS-V<I?<19T=L5H=*J3:G@4)#1Q -%,,G9PJ;9(LM7L"D*QKT;))%7
M]*\FS/6C6+-Y&,,_:5];GUL9=R&#(H=Q(*%8/DZ 1RU-D(6$:\GDS\/@;TZ3
MCG2LQQH!@SO:@QM/:8819U'@P[=]8-R0.#9(0FV41/ <RJL.$XZ"5)SQE?7B
MQ!F([[\2%H(M:ZU-F=;.\C8H._+!U_XK@?WJ"%4IG.0/H#)>NQ/M-6<)3"OQ
MX-\\3[L#>EW_QP\#TVR_^O#Z]>L[^F?CU4^DR[@/](2=**O#S[B[D5!@] [2
MV$L<F/P]:!!@%J(V;.J]&^&>:E$"-(?OX4? ^L#BN!^#8QZ#CXGL!AN:\A)X
MZVZ(_%EX'7[&-T&,M#=)'!&+_5<PBG#V.BA"4'6N+4Q:IMG15?'I;\ W.)UQ
M"*+[$(3?Z'5\!ET9F:C$(<;L'OX-$X_X>!QR1F!'I'_3V:4L5YB=H(-@O6RJ
M2^N7],D(*:B&D#LA'WL\I3$RM1#0*-/ZDE.7];PXTTJMH4YK<EPP#4&L31FP
M/=- JP#_P.I3*^<7HR4P.> 2..CD._A/=)F;X43>@?L'N@Q>I(U&&D0E:P6"
MZ7E9^A$I#K;(C<ES ^O!P?X'<WJ-IC5)X,.H2NC$ =5!D!-A20*K3UYV.T'!
M3D%GDQ8VVG7SPGDZ^,/X30%-_Y.@ZIL@BJ.T@)X[']F"=F E=3QL#U92Q_"W
MU=0QX?;?T,>TXGC[I)'E !7#FLU++G^I2BE$1(T14:/4R^"I\L7Y5A:)7]M=
MP(YNNM5>;>AV^ SBNAFO3,H 0>T/5F.()4]W]R10.82LO[!C[(1A@..F=XR#
MY'*WA/X'FC'64^A&Q:7/;*-J)NO*^U0P!VB)09?$J:!I[(&%CC ?X"_0O-&"
M(%'D;RWMCJSM6HN8^(5(K%)D*=<@!HJG+"[E$O$9M.<P.43_UM@<S/EW=T8S
MKK596^3\[6SN!0O./_/PWK5Y]=9E&.1W--TO@4 LSWY'Y0]FY?_G\:=LS;6W
MVZ*L^V!55508_XRT0#0WVH'6P3VP!%N%%:QG Y^,6!]A],!Y%X3R3_B<4:+@
M3<3METX2+C@+<YHAPDZ>X$E-HH8/(5.%03*9:N_X* 0O;@&,2<PYN-BPXT\&
MBS2+80?=JID&'L2&D1"B>RZ\;Q\&)/WP]E^)&R](UB&>1M3V>U[R.+2/'BSD
M&E^2D<INKZ2AS%95413\*5O202[U.=;F21@E#,(!Z;WN.&O\W8TQ7H#PV(;(
M(0C%>&:[W=,^S'P70HJ=UYT^7UY=350JTRR9C_=_O=O-?MR%(<;OZ%:^7JQX
MFB1L'^84A!4PJ_Z2J<RB+AJ[W[ES\V\>!JM5?$.P;75AMDRSU^0%]=#EWR%;
M([@N$"-2<%@ 6]6HDD;$304FT*0AWIT;=8S#,1XG-H1!,,ZO8\],L_]X[V,S
MQ?KUTG6F.7CJ&0WJSFCXU#,:UIR1U7[B&9G@U?L[\/FNDK IV"JXCF6IR>*U
M/4\54E_U\!:ZG(>PGBCQ0!][Z8+'X]H[I2+\F]2GTGYU@7J8Q?F4>^.B>=]=
M[HV_2SQO<?,_Y%^)7QOMDWQV,6P@MZ1M#'0-V.R&IPMVY((CD3$;<>X+HX]A
MB(2['A>= S2Y1O]5E%T9%KSGBYPR9L^$9U,]R -J6RZS?3+<8+Z?X(E,P4N2
M@V@SSBE/CSP.[BY'O9U]3 <5/L*4N3BHV>A%F]:*'[VW/:3_PMV'F0F?N=I+
M?@ IC+B?*P>(?@/8''2,5[SE>_$]$%ZP8J(ADP@YTO.3"DN&\EW)O=$Z2TFV
M;P0V$K[OX!AZX<G=[*<N#_\PA8U.W9J-+C,-[A"=A*!RXNZ<CAOQ CHJ-Q9-
M<="?@U R4TG=X2(C$>JDV=O7 6P 9K>#_'A%O(G:'Z+BK]F:8IAE-ID:GC9X
M".65B3%G0E7.0):(B47<#BN";XQ1*V@BZI+3<7W-<WF"X\L4-CQ!ZRTN\9GH
MV16-BEOP,4]LR#1K_AM)'YVW1(W6KU]K2A#]7A3+<O U 04$<I6=!4D.C"H2
M1.7,D'06\M]$0P,I$ZA+QGG/MK7I)AH>_CCA/AYE L/&0*<;2@"%#-]=I(F,
M+1IWY1K3\36N>75+SD^USIW3IU %>GB<Y4*089-+%6!4\.""DP6Z$O=&E/ O
MA(*NHIO&)C",T-H?JY-U(IJ1]0C"Y@$IA?J-^)S1P>P6DN[HL3XE2:V-)/4"
M?W*#2A>/^Z0 S,, F&H6U21T=<YS$Z$%B0M.@>1W/"Y'>:"LW8@C5?'B&9<V
MI.3("!E*YN6#PLSI*4XJO3R$(Q7_/N,,3ZB$KRC&H@/>&18=S#W\(4+#1>?[
M\C"TN&Y!K@-9A5JIQ<_VE#N)QS^,_RHU?+S#?#5H-KJ2LGJ:9G96C[7,SNII
M6M,4MU")6.5!/B:IQ2B98070OWF4'8\7I5VO]#CT&JI88Y*867@FU!"EQR*\
M,.:\7#T/WOEFWK.ZYC90U]R>SS6W-:?JI&@VG;GO<KHN93\5!KK6#!3TV#SB
M+]-_>)7>HG5](@:]]*KL:W?GJR!?.*#X.>>J5EMPEKSB+$>6/[?@IY]7_]ZS
M6IV!5?E3NV74_'MGV*GUQKI)&; 4H^[@CYC4(2]*-W*!NT]J,RMLN4&_L9O)
MWH]50%4(X_#DX R#G; 9\AB47*5R[FX]W-V.5#CDC?USH>B: )[(NRZ(?S2A
MSX4X:6\;33:W(:K\A@&V]BM&>^^8&VI8#UW&7+QD],G"*2*&06#W?^6V/( P
M1-5^(WLJ[@3+<QXX-&L.D*W.4QT@B[38>Q]T;T(%F1\P[/\R9;X\6LZBS:J#
MY755.X53-[J18^G=[I/WP&L(\M23&!\E'AO%X\D*1IY</'I7MUVKHW?- \-"
M-58\GI:-+P%\;8>EGY_D;@!8VPQ->@3176IS2$X@^H#H I('6"6X_:M;H]>R
MSD)L+[G_VV_B3.S0?=YVLKQ;6S4\ ]-KGLSTTLY'[WUQ1%;;\@ZP^>A [_0?
MW0VW-AN<J.W-T3U3)1]T+'R>\H$WL\R^WK:>GWPHGGXD9/6QF'H?S\UJX^ED
MJ_?TO0)/XKJ=4;Y15.F>,J5X7G*Z'I"G><Z9V-M]C8]EH'-FZ(.*-C _U0VM
M&I#T.%5.\-+Y^W3.U2/YV[RZ'0ST7F<U?7#6['UQ+'E.KE&9)?=RC1 'K]\R
M5Z]8[Y?44IT&&OW4):<%WV#5@^=1.;>3%AN?-DUX7IKOG)S-=^GV[FV/";6\
MUUMM?[V[.:X6CN>4Y[MT!C^=M_EX!N]>W7:Z>M=<A;H^:PZ_.*X\)X?S77:%
M)]K+V^R!MVFU'E_Y<""^O.14VVIIWRJX0 -J^ZJ;F;7+_<R>7773DZ''/'5U
MD]4G.&Z]:QPJHCP<GYPZ57*:ZD E8%4"UC]; 1L@@G]?MP:KD<LS%; 3"\(E
M%" >@C;GIQPV.-C6.58H6D.J4'S\.7<C-,.:KJCEN]:GZ(O:M\X)U=NHB^J=
M<5@.[UV!V=UIKZ(,=-JK* /YI2KM3X'$,!/7BO> [*;O-Q*W($6+<3BB;2 >
MOVAO@HN_I\5#_,6HX09EISV7C5S/C5UX4( 32(0+_EWVOIB'"+%$(, /0>(Y
MB)0AL8V<M"41?1#Q%N?,%1CVH"6B,:'!I",LM&ML7O3=C<4G?THQ+N#??-N=
M,P\_, L04-BY!R4#R@;;)0#S?N-QAHJ0#95_UT7H'(TT ,+2X-!2P8YX_(#(
M9?(;<X82#D-EJ/TY701(2$8"&":92> \6GO%)R0]DHAK#U/NT[(HR/4K9JG+
M1@<B"LX_SD9!$FNA&Q5Z+\"_(!H*0E#Z<;GY2,SMJ>_^*Y$P(J*=PSR1:,SI
M8RNKTZ8N:._0G@*U"AL-TT:UO^XSI=$0I6:$B%OB8GX(UBO_]Y;V(?]-?DFV
M;T@IY["8P1<0O"AMO./Z#I\CWJ"/*CL);>Q6\C!U/5[Z^/('JP!8@H?RG@&7
M/VS=MDU42KMV")!$#QLWT%=3,HF/+U :DDC +4J E^('"=$ELD-WQ%%PO.#A
M;/&-Z6-5L%[5RN@/I)AF9)@E1]:%VG\G =ZP3?<?-0YUUV&B\XWXNV@EXB(#
MHN5/%6-!;D$O[K%C#:"\>3+*%S2!H+)$O9&2LZ0Y2@*%2L8.PC 8(7H(BLRB
MJ#[.<R>LD^W$UTUTQFXXAZ5U,_345A?)]D#,LZY(Y ]IXZRO3X5_@;VVI*]2
M,J.9C^6472?0\HB*1S9#D%U0'5[!7FDT= Z67K 6L]PO/5ORUQ21SQ_>?<KT
M@^B@*5J110]L'IU*<&Y$F/H%43R=Q.9+#1'+,[5EZS;DI<)1![;[0L&["46_
MMU%<QG,DK%59(T+@%"GN')@DC-"!DNBTP)<VTTBT@@-I=JF=EW1F8^SL@"_7
MZL=A6EO0PG\%@MX39MA?<L"[&<3KM;N>=K );EN''3Q RQ?3VH(H?K!9F^MG
MG3?5NTLF(%^"@PS1\,&D115_D* 69E5G4/&<EKV[NNFB$YS0.'^B/M+$Y[JE
M#Z1CK/\ ,6TZG$5/]U:<8HF26\5ZI9!)&ON"R9&<7'Y5!"XAE[!V(CY%P$G1
M/X;1SJPVG1%.^YP19K#0NRFF= ;]*!K?9 #^8J7YK\*]D-H?AXHTLM!B1\RB
MGJ^*";:TRJ!EI: EI4V6K;@K99=3GSL)S Z#I\TL*"RSDY B0.&6RJ86(M9<
M\\$4()OF+ZVYC$1"+@-E8>%21#^!45@:EMEVB&T]"CYP:6S\3,$\IE]*Z8>=
M^M:TSWO-/(+"_#SEL* CVK@#0F!F62G1MO3.=_[(Z20S2\X'_Q/'W0,-_)I%
M;K0&(;-CU<;"/ M(.K/=,KK5/YT.'&W0ZIEFP^;4;W4;!R+7;UG]IM%I<$*(
MP_5_M[I=Q9G/GC.M+9KN"(B+IG%V&'AKCF.P^<<G/@]$Y(/GC(>#!Y36$H_)
METX)M]20/1?J'A4;M,Z1;6/I7*ID)!]SUVK&75;_'"@HSPD4R>J2S%0DJTLR
MZ_2VY,+H6@1I3=7?3D"MBC&5^E/J[Y3J3UUP5D^=W5.7?$_J_?KSST-=B]KV
MSEIE]SR*S[>M^RP+RS<6E&\Z*Q7G&U7'H)VKV_Z!+WUL(7VS+W0H>;E@>3$[
M6[J#KTK,EK[@!4GJ7MW2D:WY2HF3$J?G(4[&XPU03QD@)3'/1V+,IS- _6=E
M@.J\7S/#JR1526KG\99M<'7;L5;+2R]0%I7 *($Q.[6S$;N;MN&S,FU*G)0X
MF9W'6Z!N6UD@)3+/2&2Z3V:!NL;Y6* #X3$+61@V](3M"UZ*D[=I#HW&O.V=
MC1 VST_5')(J%Z&(MCC"0OE4(.)4Z1WS$.G1 ^[0B9!ZE4@JD7S2D[\-0KF[
MDV =S$E0$JLD]KE+[);#Q5IF]"!E+DHHE5 ^=Z'<<GYY$#-ZN$J:\Y?8.N\?
MZIA3*0.E#!Y_1%K+/O<.DJD^?W%7,JED\DE/80]BH ]7::0D5DGL<Y?80]K1
MP]0<*:E44OG<I7++6?)![.CARII.++'J K)ZZNR>4DRKGCJ[I]8T,"IVO3D?
M@/&M^.[-1+SNM==C1U?@,Q=0BPD*><1MF-8*RK0$EPXY@O;BM-*>/)%FLVBJ
MC;W@09MR9U+H%Q.,_I;?D,C.\G>7FK\$XS'" XL60 A,740=%YCF O87"#L7
M#<4B+*D*;)<@?@F-?!6=.!"XP B#+@"F)\SU90NB -PB[.[BT0<D+/XZN.F0
M%Q"<J8N,Q"Z^L^UDEHAO! (^.9C-0S[E?H2+Q6%2&.,Z*,4T1]D.I@C1G,$U
M()G@(]J-YO-XMQ$^Q_ _@G2P!Q_F/&2R&U!47GSZ;5IH2D#<*<2,GO@@&<[9
M=@K8*,CO9+LGT7YG!L]/(TT YF_"W\[1ME/<\)Q0.55A-X,9L7\]7='I;=85
M[ZEE'N[K>QHA99$J=6!<W797.]/N 7[?Z1]N4N;5K=5955!ED'H];=ZT(J M
M+=TV'S9TS:YIQ]RP+<J]#FTLH(VUVB]\GQW;TJY@_:QJFIS.U:VAMXW^ZJ1W
MW,^RBJAN<;ACJ\+>(UH5;M%74G%8^'X*1O^2S FL+P<R_[&,KBX';>>OL!%H
MZ"1>_\H*O-?Q]:(Q7-J3PG]/PW0B<S;A-Z.0LV\W; SS?,F\![:(T!<L4A\(
M7:3=#LO>:@_&X\>NNZJ%I,@J.-@G@3CO9>)CLS]X"F;"FC -#>P42/</.T@"
M>*FBA=X8G8)8-*%DMU7[>@9=/<VZ73T_HC\6^'>^0]TF/@91'/+8%0C%K[G/
MQVX<Y:FQU:8)O>YJP\]>=[7AYZ?LJ]I'<.CVZ_1)'VZ<=U3L]#D%GW&M^8$P
MT%^Q/]WVFI[C8]B*EZ(;^(?QK[ 1/O85]N/0'27X72)CR0K=1-Q&2_00A$[$
M_8I6P#U0_/%#L&J"'/%]FEPZ@)9S@H93E\&/'=R#WP!LH4W!!_869',C\-)#
M# +X;.X%"R[:^Z$G\156GSK9X).\S7['^('#SKDH?A!G9%TA8YZ^R^;S,)B'
M&,O0#/+V-F(8FEJY@YB(9Y8;4A:7%:5!3>6:Q4)Q;A-<IR]:L>'CZ<RU BL+
MEP#<*3L),0R[$RVIC&$?_"A@A;2MU+4,4]Y^>O_Y3D8E/V4QX/)LYQ":V L9
MZJ3>AS9)7(=[U$06Z )/,$DXSNQIP8>@)52307Y8Q);9LCD"D7N<12+0!$/D
MSI*9:,^(O7 H_,HBR7$B.FI1:RT&C(8+IG65QM1F$%+&%%;6E ?CF/( ^C_P
M^8[R0"Q(/2J!^4N,_H;YS&$MX(<BS_\.='*"6=FCWILNYC'I,JBC)Z3, +NR
M[(&1L!WT&[61!1X%O@/G]M]<<&?$"\+F@(E)(M%4#5@LI)2!PX%0WIEW:MUH
M.CY@Q["%9EKZ:NSUCTA['6##+I"O7T'AV'$01D(E8K-GBL=EYRW9.9'$DPBL
M_=%ZC?%?!$]DG/<G#R?PXI(EUJ[Q-:F?OG[6?GU-?UY14A^#,.:V]@EWY&,8
M.(D-0G#]]?>?M#_<&;&[]"4T[,X$2K'TW=^7O]O2[F)J#J;%0,NRB&#[/-$3
MS/.$T)4Z!LN5YF1RR6_+5'O6C@RG/DX\,%$1CV./RX0;;'G:E_G7!)M""<(%
MR'7:OQ(8"H@&@ZQ&PYC#\GB\GOHY_5H:*H/_8N#!A N*L,N?*C499-C&"_PK
MTK3:*%G<@!20B&&/0U*]#-YV0X<HL1!/PRR%7('N3SR1&M2HJ[=L%@Z3(NJE
MC73E'+.]R!J&^WZ"UBLW[Q&EM\9)C!V4@>'^%JG'5*A+-"PJ?9&D%&DS6 :V
M8$R'%3-!9DJ[D<,/<H2*[V:3+VT]T&K$"]L "^8,?9"\5U[6<ST "<6VJF).
MU!*:?4.F6&0*IM(MR.ES>)U3CANLXP<*FV*WLM72I"G19!1 %#E(S[:_>!I9
MO $%M:X;6V]8NQO;D97W7]BX#UX-'%C]7"H_&Y<D.@DR;&CM@>T2C:U)".AQ
M<,1$NT7NO*S'8F?1;ZYKM'K]?L,Z0QFPE,:UT%*3JC6IS9\Z0K^DX=FUGOI"
M)S9_BMS_6XQ%R4"5.R4]L@_+^5'E+SP0J4$4U8JK+H55XZW:]-JE4\\S(XEB
MH<>PT+-HSX'^=F,:<UQP?7GMI5]&$7EW*R0F!<DRGL40.>5,C&TKR@#Z[:O;
M7O>I$<B.>8=#"9(2I!T$:2L89EU!PIJMU6(:)4A*D"Y;D+;V'Z@K2"86,IE*
MDI0D/3-)V@HV6U>2+)"D_FI5:@,EZ4 (LXV,#=^F-R5"'B>AKZ65&T\#-9N]
M;]:C7J7^:)0P73]QI)3NTR?:I@]4J+(6";W?N;H=K+I[/]6]7]N F^V*8_8-
M">IQ3/?J=K@::2N..6..J>W[UN.8WM6M61%3*I8Y8Y:I[>358YD^L,R@ 5KF
MDI/]=[, )O'OK-)N'KI!J,''[EV;RXJ;K+*,;@]IC*X%'_I@8">AJB!L\X7J
MB5V]X@Y^&'_$_?LLM@]#J3<A=]S*@&IP=7NH%%\#<@^*??;T^_9EG^'5[>JM
M7L4^9\X^M9W /=EGT!8W/!7_7!;_U/8(]^4? _AGT!#^N>2$WZ<<I,#GL09T
M3A :Q2.4$97O.Y(/&,'<X9_JBM-O>!?N#T*=J9(A/)QZ]-F4"LN;QCTK+N#3
M<(]U=?MH!:R8IVG,L^( /@WS=!!C1G'/I7'/BOOW--S3O;K%>MQ&<,\E)P<K
M;^$)B*H3U0578_>V-\'W/IOBDD/0IK%ZZ+$'YCLK(N#YCY+E"S=IJ[10#VS8
M(PXG#KYYS:[Z4I*K)/=IHY?=);=?Z3\HT56BJT3WD!4D3R"Z@ZM;0UE=);I*
M=)^VDN<)1'=X==M?33>?F>B>N,/ .6,@I:!'10"]%+"T+AV.(TDK$*31','M
MPYKX@L=$71RVKV['[GT=V$4!H;09<)3981!%!,[H!$!7$ Z)H1GS4."T,4\;
M,QM;)K@(1KHO@A7A5GT8YTAZ1(4U0%9#8Q4A=VBL(N1^(1 ZQ(LB2#J!])3,
M0%R $:*L!P0V(*CJ\%#&,ILQATM LPQG<1,(U1Y@O+2&RX&L&AB])F(>-1*(
MZ5"3LKK=YDU*058]E5NH(*L49%5S*:SPAA1DE6*AT[+0)1]4EQHA*,@J!6OP
M5 4N6_JBK0GB,:;-"VDK<F-#\^JVWWET093""5$"=?(UUQ.H+3W]]A8HZ^JV
M-SS4!0$E4$UA+B50VP2J?1"!JM=_<=@!?U,WVV<!SZ/D3<G; >5M:U?MIY"W
M+O8['?;.PKY=\NTXT9M,78-[&M':TCUX;]\0"W<?#7V@+I\TC%UZA_%\5MFE
M#^SRZ*OJBET:QB[E7I@'9!>L4*QH+:_XY;SYI?=4_#)$?FF*?GD&AP2R!Y_"
MKSHE?E5=,8&9M,$,=PZ586A $D$Q3!W$JCT8Q@"&:3_ZFK!BF*8QS&X857LP
MC'EU.^P<JG^,8IC&,,QNH%1[, Q"H/2; J+XV#S;MJ*8.N]O>T?=3CH*;2Y"
M?HW#>)2U,NPPRPZFV WST0[GP7?U1&D )=)*I \FTH?Q^>N*-)V:M1\?0RJ1
M5B*M1'K#'<>C232>Y.GFX-% U$JBE40KB5Z2Z,.$S75%&K%Y].'P4/!^C40+
M*%[YK?H+WOM%@KB6T>=C&_[#3+/3'_/1P!JU3=NR6+MK#]KM_T,8_FTP #U@
M#?D77.7P^*@ 5[=_!3'7#*ONM? WP6SFQG@+/+KSB=5@-[AONSSZU8UL+XB2
M</5:.'#18.5>./YQ]6)X80"ZSYX-$6M_N&PD;[/O<X<[':]J&N;5^: V? P#
M)[%S<BRT-QYS9^>#V>!&6I2,_N:PACC0YG(Y#RP,F0^KL6DU6CQEL<9"-^*:
MZ]-5?M +KL]">")(0OAS,";X@U$2P7!1U-+>!:%F@^0S> $FFXP1'#WD3CI&
MI--WTGG,X#E\%AAM=1;,ML.$>1JC7WF(5\G8A ;%'CSXOQ&H2ACUO:^A4L)M
M$M]?^RU8.'-P"W!*$J*%>=Y"&[$(_A2(9;H.#.6.X2?1 BC40@Y*,$D; GWS
M@P<$_80==AW\[!H*MLX;S*2*CS:)Q5>?T$N8C:33/C'7"P/F:-?_\</ --NO
MOG[\](G^T7CU$RH5.^2@ +^X7/N3Q3$/&RT]'WR896A/06'KFMDVAF5&)MR/
MF*0J<AT71$37WOQ_7X S@5!SI!7/"0$_I'30-;H?R0DU)  ^_\SCV".,#^UN
M$G+Q3]<XE'RYZH&,JH3.@71&L2:>O><T3_A__V;.?;3<&BKPB=3+@N%GM '(
MVNDF')Z\]+&7;@P;:>] \#7,E!+\OJ7]T7J-"B?"F1?W89GN3[>DC0L !@"=
MHOT5M+0W[S6C>]/M=?24X&"IP4,$C?$&%&E,4"F_!LG$ UWW!CN) ?O\Q4<A
MB[ZQEO8518Q>J]K\549$ C#\V2'MSA:2)> Q-H&_P]YSV;$,M_Q%O9J?+4>-
M?V3,E4_VCL:Z ^WH<.=+\ %F$GYD8;S8S15N%YP8\.VZ;1TV;17,!YD_2&+$
MF;GY.W$F1"97ME#6M8>I"^([@M7[0D[8@59.D$6UEOTF"4/XO?;JC38& I6+
M=V<S[B!$#^ZW8 MDA0RN)^1H:U'Z3[7HOP)_[W4;5[>=0?7"Y\Q%Y0G_%X%J
M\83;&D#T ?N[T;&FI6U9S/O\HQ\%6;_P<+8*/^4D808_E4T:/-K(_7ZSX"Q<
M=I:E[P$S@FT#UQVV1;H>?#P&K\P%M>W@9H)XKI-[^ &"N\E4^Y7; I,#K[=K
M<W#,$N:38\<T\%1G;A0%X+)AN-'2[B+\9OJ*B!\M0Q?OXE"D*BK'FX)R&G'N
M:^,$/28B//(8OO&/" >VIZCQ@I$G"1EIB51=X'<5/P3+HR]%\%@T=KFSY"E5
MAW]2=TLM:V$,-P]$ \:7(?<8DBW'9?JQ'%!(EZF=O\)&Y-.M?V4%QN#X;H?9
M7B),X;^G88YY,>$WHY"S;S=L#/-\R;P'MH@PVB[ZCN X%FFWP[*WNEOC\;%C
MKU]8$Z:A34/4(C_LD(V R(L@R4#L,))&_?3+S^RV:E_W#1 V1-OG%%:_]>_=
M,/!11V#8!ZKE#[#6'BHQ&YP9T)+G&F&G:( ZS ;4NHX&!-Z$:!4BQWL7+ #^
M!BO^&1Q!+["QEQA[$.D7\-<23ZI3H>40KB](X]R8VVE82O8CIV%+*TP(0P2C
M_RI" Q.$8"+A"V!]YJ#(R4?@)=H7QYR!_T@:FV&4#88U2JT4VBP,>L8)QO@:
MV#ET,)X@ZCWQYAI=$0#^5^)SK4OA7Q]V2_N-^SP$:H%EQ<; ?W *HAX8[I/-
MP1@YVACLKS"K1306K<SI'_-=O,-,WB*+%-]^O,MB.TPWV'+W,3%3SJ,LP*!B
MFB1 !>-22@/<7H3F=%'YS-$#RS[[\=/'[+,8#H2.^"K7/@)O>,AU_\G"$?#B
MYP0\E3'(J/89YJ_9'F=^,M>8%\ +Q#@^NC1! FX%>GK$4\PGM,L_@<=QJOYZ
M9%#Q]&+5ZRS7MQB5Z*!OTJ$^$;5A"7)#Q'Z([:AT)ZWJZRC+2\BW,4ILC!=\
M^G!)KDA$,7G%8;X</2TM>$!(4?Q[ ,2CR)^E,* +S0<Q(5)/!84CI"O&?RQU
M"D6[:9!/8S@PQ6#89E#"9VKWS$LX?1ZVQ8UL=+<)PA3;4DLM$'&/>HJCV\^=
M1>HJ8G2T/#1#R069FM%$1PMZ /@.)X L-0<=\YU^!9:J%3N4]W!0VL./8C'_
M@VO!%I<!>&78 IV"&.]_@_#;;D'"L+"K6)W46BUDT$:NY^%<D60'6\!70?M[
MS-T\;MI8@=%:+9C,IHUB+$(";R&".AG/T9@:Q!W?T-IPV4:>3 /[AJ"M&DDI
MBW8\8*!U%==R!YK$=N?(&&]0\+_.!:IU9?R#84YA5;TB)GT6]N!#N>GA&)!0
M@)AQ8)2J.9XIN2AMN8Y*SL6L(089$Z"'GRM"R></0#.44N1<B'9C@5D;A-EX
M#HE:Q.])<=-TRN+LHM3?N_PAU8@C%KD"RQ9-W5)FN" NZ<: J4=C* 41 I\X
M0)H+54 &%7YBV7A%Q9&I!A1,"-5D2AN5>3G)P[]S.Q%Z!52YR/509"5R'.13
M.#Q*U4KHWE/&QT//0D <HT<519@$0@[Q9IA/7X_?+%(UFX3#K-30'W-K]"DW
M1I@- .WZWK>]Q.'.>S^+#"N5-3C01E7@#RM';H$%H@C@=N%AYQQH *HD$PM8
M7X"_"6#F>TR(RL,&(@ Q$'%-XL6IEH.%TM3$<Z29BL2#_?.R@Q\D<6H54^5+
M:A7&NV<@+0DY@C<,V;;,:DX 4T%FE=[5HGBB$+K1-RT"14V33PE$"YY[#+P-
M,KY2-Z3N((XL\SX,EX[8U170S<+DH&=B#/L]?/EARM&5RV)XP<K NO8WP:[2
M4$OBPD<YSH6.ABG[@J9*#$P<B,,[F'?P[KG\?=AI:5J613=[E')HZYG\P-,)
M<31X2N!ZDGS>.1"S8J:40GOM0TC)A* FIYJ]SBY@XY(M/_%_)6Z(J2M0=JCG
MUFKWK<#CP+R#J]OX(:C*6M%@L($XFM0U,TK7BE%S!0^"#(ZO8&@!J0TL.\?.
M@+G77^VMT9.NX&4!Z(U<J.$1,>C;E&E2S^152<7@#B)O,G2"W+G+1:Z8,CE;
M=JB%VYPGI41N:35+/<-_$!X7B7+F;#'M,S"UN^)87U]]_NN/JY]RGQK9)G=?
MF=@;+U7\DCP^GP3R7W-(<M $:''D(0C.9DF&M_C!(B[[5X(?H:&O)@%X;F.&
M(A9 < 2FD*:9GH72"EDDCF5$IC8=&0+!V0A/4V>2QL+:H;2BX)AMS6&+2.:O
M=<T=XV$FXO Z\+<@ ?F#J3LBW2<I\ ;6BA^#34!L8R&3:#ZE:4S/G)+L8 %(
MB2F\5-M%$GH>GHA=Q+ '!0DS@XWLH34%LR?%N&WV0:Q1JSDP"8R:I-&1P0<G
M1@)9Y(@AC)/\$Z9AM8DINKD[DS*&>,W!M15B#,$ED0L1'0N]!<1M<4(J38J1
M+NP *'!4W\!8/G)A2=G:\,> G&@'CUUPS%3C:RX\8DOV)OCZ/-^031!8#[.?
M-DNBS+C#9"8< Z"1.#N3%NE>:+WU/K<NM?"_!2,1=>*B]1 /.!S5ON (B!-!
MT#*F3BT+$#?&Y<._+Y 1RU&\6%>T?28V;"8:,_BRPV(FT@S2E2QH"+ H((U9
M4".=G[6!D)Y'H\)^2"61&\\1CQ\X%XGOHG<BE:/,?DCY!OUY0[^@2^IC)4&Z
M-V@#$Y'^77*_BK)&8M727I-Y2^9T^"FT.?TJCB;08MXS8#/P4W3D)#81<ID9
MZQ'W7'Z?NZ<K"198")_ $.B98;8GB>K%V!A!9G$HT,I/C;U(^(@@L+S1A300
MI8W(H1%>!1[M<FI.OYJ[H;T%KJ+T$S)96D(!@X!PD*>:^ZTZR% TU<9>\(#_
M#)/CL4LT3S/J.GG:;(YGO*)W!'P0=B,+2R6IZ!1BAMF!X@XX0%4OF.<B5^&O
M@O')/'FQ_VD<P)=*-+#P!)N2>.XWW"OT6L (VJ$[0@LS@L -WP?]-F;W04@)
MVL(';-*KFRF8GJ5DF.CR,$7J-II=]3E+=0T,1>L1#^\%O1X3JJX<RMZ)\I=W
M05C*/&$WX5(!6>W21 .1&O3NL,(_KQUN;[D \61K,-NXAOYPM6):7PJ^R;0)
M4XC!8%D(O;PV;GT&=%W^O4EE/W73]B*"%ZEZ4<ES5FEZ8+>@F*L7RM>CY2Q[
M OL7Q@GR"+Z**.E6&-+U84A4ZXDO'4;AU>"0:7+]GL(_H9@@1@-N+YBGW/A@
M>_!H5O G8 FCU-X&82'5EQ> Y&;:H_;BPG5-JX7(98:X 9[ACJ2+7$=J3=&3
M3:UF4:?K&"*Z(O0(YJXO=7/!K&96-'/&RFI\ATGH&HC%M! [RXY-<F>RBA<]
MSPX)^X9/R 6#IA=^_!9KN6SK<^N9VD"<J>="4.<@P=DF"W%QYR0D7>]+^RN]
M)2$R>EYEN9%=@"4@I(EPGU@4^/#8 NDK3C*$[.4;A3NH7:-BSM)E2S_"-O/O
MY#Y@*L//BD%_$@Q!J4)R_XAGP";YTI<254+PPA*_%:VW(TJNR5O-A"N3O732
M- \L(R6YQ002_$'7N$NZIL2ZF&A<X5PL@<5$_#QTZ=\A"!1'$H4Q(<+!M6 G
M+G+$\ID)DI4?E9$@/EV0XDI_-E<I&]E9!]$2LW*R,G1P14&Q(4TCUZ&0TZ?@
M #2EJOA84_%AK*_XV/T.Q,"\4F4BIY_&DY>)K#B&KXYK ZIOMKP'_2"4@]EZ
MPHKB/5GCSU6W"2_.)*"K94KN#HS( H]]8#/>92;^31H@TS.?\ACY0Q8CKUKF
M'<6UN_W*4E,V]_I7;*(81L),!4D$U$!;]AV3DG1D0;6+[*?=HYE&K L"2RQ:
MO?DC".@TB4HU9D(.3^MOU:R<_X(Y^O].6 @J'AR*3QP/"]"ZO\-S!:-]\]\B
MH8C7;F1!R%BNW1-KE\4AHEA)G#O)=#1=%N","HG)%1">DFF\S4M5P9>B*%A[
M^UT&*G<BNVH,K8[P969<YG@QZ95^HW]7\8W\5:OX:@LB37^1/K\T_>*\Y5EH
MP2?]1Y0F^^29>7XL6XZU,F<U3>*#)Y3,YC*"HPA#'A-B%]QT2.%M9>E"QPUA
M"*K&\>A4.Z#'TW-A4"N8,Y/SP:15"U:/ZA_<I'2;<$ETR"2=OFS;I'>MI_LE
M_XPU[[ZS_%=LRKK\MQE;+/])T&3YK]$4 \_EO]I5?V19U<#*IZ7_N3(SD91?
M_7/P=W$JXNS&Q7/R"7E^D9XG2^7A &XIN)U1?M N]Q0>7.82F2J>B*(AV"*Q
M2'2+"P[K>MZBVV[K^(YD9:L<HJ[,V&P[BU**O<B$(\SIE[E6'OK1(42>6,#C
MY$@6#152#/(@3AQY\Q B,%$1(&B*$C\IQSMY&6%Q7L6RQ"!!?Q-/""8+79L$
MS(NHRO%OGH9/6,!46!">4K@A44TH!-$].,^9XQ=7 VT]#[/U+.F,R8,DM-/<
M264>FW[!=& DYUX<1\[<M;&8X('2"N(PD;@-#-<WK,3*ID#3E7?_9/Y:5%[^
M[]3U>"E03%DJDH=,&S=6U%YEX:\XIUD0NZ1;BOR:9Y#PB)C*4C#FEDDGL,DP
M:#!S[5*Z7D^K.X-0UA.)W5[#(K!J>=E2'".2>7?',!:F4.CVJ#A2R\]TBX^.
M^"(HG_%E+$0=I .OM71.EZ0\Q22U6)R==Z59?9D&H\,X"I7M.!';G^YWD?0P
M29PQK#%-# #QY"ER0#D\47)$1UJ;Y/W.MBG1-\%DL#A#QME(O4'GBU2; <YF
M@MLG3V] MC=8*'&]51!19KW*RX%Q22CE41P-25390H7=ERT-^Z9)PE:NTR'Y
M:>%+JA0I%**#U@7#%?'47Z!9IIDUR9SYP5.47T=$.</D@48'(KHTM?B5D!((
MV4W?["JY!AH/!J4\I_S,' RLK((*7%%0/F&HSX";QF-*R("X.WA&'=(9\MB3
M>2BIKT"F/3I[QU='B3/AZ.""%L<#\8+U>7 C+LHG2D?)A<E];7UN@3*$E=-Q
M 7PEB9W@P7]5,>V)%XSP/$[J-$F,(@W22VT:*BMM["6X\5*["M$3K"%)C0E1
MF<8$%9<F@]$3L641%%\>C9)!/,QSW<AZZ4$9O)E$KY#/Z ZCL+7^\L>=D#VD
M?[:1O>.\CJFX&.)_F9&5"3IIT4#GYY\K%JMG(]\CC<'N,9$;3\_1<$^X"\1E
MJ.A%P2 0=QR2FRSW'=0Q$A 8 _X%]=FKI0,=<2DV/X_,]W9ML7QI7:3T(Y+P
M<@V6*'0H5X& A+OH$0HY(3]/CB\8B^K!\'R>JME2%2\NOL%3Z06#*FY9/D=&
M!^T&%%F8S+/A1W@P&B[H^#B[G2"=$'M18C'I^F:R(MDUFKKS.0[GN)'\LG0=
M@&Y9<GR<57!26:8/X8^41GF<3_)8YBQPZF8C"!D#Z?!5:)_"E8CR:/+CKY:9
M4Z3U$\K5EAR6(MDH XVV7=R4+C@"9#6KOD@'A;0E$Y)-9HMJLFS'N% [J)K1
M?!3^+@F !4(0Z%%M2%9^JT4+<%(GJ<<V I=U[,:PK*SJ._6D[ I^HYA\&GA8
M[(-)['LWF@FNHHH9P4GD@HBLO#PL&F=V0YX(X8IG[&^L'4GFP%(<M29#->T1
M2D-12*0ZD HF2-^@N=H0*P<SF Q8O3$Z,ZBE17&4.$MS)ZZ?B4'ZIIY%/^G[
MD70E4N\U=8CA7\<>NB0SEUQ[H!.L2J3$YTG,X=]!^C ' 5S#[:D/4?I$EA&E
MNR],9*$0!D\80 CQ-R(&5J* TG"IX"P&"KAX_LR+CB?+'&_I%V=BFU\.0!:'
M!2Q&J*@IZEW(=]+54D5.]ANF;^VI<$8]L%OHSH$J"V;BGV7H-&4V6O L="+N
MH-+EF(IVQG'94$B979TDQ@;Y:=G,C:C\*<1_R@\DI*PAV<4@(JH5/_,8CT5+
MISQTDDKCYI^F@J=,<]#Y!9LAVD<:4BPB\$7$%DG](94K?$R<XI%R6+VD)#\0
M<MAZ.8%LB4%850#SJFB\J:PJE6U?GB+A!]/*8A?K4<@49.Z;+RKLYG1"G,8D
M%->0(R36\DH>XY(23\,]$!@\E:5!LY)X:8 @\LU.28'-0:US:1Q 9_XK8?9"
MZ%<R!UY66D;_(L,BD>3P'>+(&0=W1BX?PV'.G9((+"FXM)!2Y#L*IVW9D8Y(
MS@B'45)]V?#+(%[Z%M+<HQ58]1 JSZ+RZ8AHF4[9T_KO/ HDI9LC&(&GRT<@
MQ[A]K\"$SI"VMORI:#UC]KVL!O)-(#^(KB (#4>/+GTLM9L%1V^-<[#.+J7%
M0(5[X-F&RGA)WF[/^3:DQ$):Y)X?ON4OR##5!F,6"D.S2&L(L)X\ &6Y*-2=
MB5\PA)$:>2FN^OI[MB'BRCD+P;\@$0 FH*M'J5]!CZ/O2P_BK9],0V3/%6(9
MZ:9^_1UG0^]EHII'":_D/"<\P*D3RECAY[(6YYF<IE8ARLH./V'*GXD[[-]"
M=!WUPE-2*?WI.@[XO&]9)"$5I (2QL,7283TBV^FL"OTU!?F/C#R0"$B),\-
M51J&$_AABJQ(^W"'ZJA1*,FTT/'O.(31PH2@D])8)$(MGM]_*>$KR0J)[-B;
M-&.1#N4@ [0/]V1T)!2(.)_.$J AYI*2M! DU4V9V7U5=-*E^S<%IP5<#1M5
M7J$T,S6@Y)!XJZF'+ C,?)?L15D_3+X\YD-*U:8Z"0X'U1LL.*E^5#;I!,6W
M5R[=9G=K<_E<\=CSGQ@%!N#/E=Q184N%A<ZR:UA(XI;*R8GQA(X6]T5*OZZ#
MB](^BTQ"X LC&V25K%$:?J_XO^FF@\=(*Y3)"#(+A8R2./]:I$*Q)6-.)1$0
M(6#Z-4TKI"9'BBJ6'&]++,"""GFI=?F#3+-*Z1?50GG9J;P1P9:\J^4T3Z:3
M2@[,AH7*]#VZ R+"Q02.Y\Y<X?'I<C41)WP>8&Y1+H^'FYIQE_E:GS R>R?R
M,B6'BWL1?T .0?Y _KSS?23D:B+X]^QB MY(TT2M?':#(B\;1?\&MG+NB (N
M<5U<GHB@@)!;(G2XE%ETPR3,&5@,CPK9LF+BPC$+SC<[KB$ 0,JQ[%K(."S#
M*?:.=Z17^VQL(^^G67MA4HDIL$)&%KZ0CYJ5]Q0>PWM/4MR0BPH(*)0KF3M2
MV^/-PDCX3VLG@8XYISU<2HR@EU1RHZ4"+N2=EU)2V:$L2R\:Y57[J>&)<A[
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
M![M>&A\9K\!N*SN\!E)+8M.9NC',$&"*<%F"%Q K"]%DID 46 ;0,ADS)(:
MSHIBX+#?]J>&@.&"<5YTNWU<&7U28U$4V"Z+4R ^ MB)@1;)/$7(>P=[[SH,
MAA7+A5FYGALO$%@O<B/$D\C??1/,@&\6_XA2R2$()CY9M):ELT39'"C'T$W+
MV,3_*04EG5)8,B3=6H"OC9!K9J\2<*W]XTY[O0H9=0XBMTFW/Q+8"X6D! :W
M0/FSA'(;D #:R"0AO"Z)NWZ3!517D54N3_WM@]&UM'7K$+K,@=XQ>KJ URR
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
MZ[GQ @<7F$;IFQ(2[!^11F Q?.+:2,4'^'GN,;^U+#AE"F>07X-.IUI _Y7
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
M!G 1^1W^3;E?>3$$1B%S:XBEJL@X($8&\*(T\]:^NDBEALETE7R5.#-'GAJ
M",>204*I23I-#09) ) )-.&5+<M<8%)XW2JDKN)T>!0N3D]&F#$I+:#A#2-/
MKABDE;_AA 'Q7*6;#< JBHC-(-6+?;JST>B ;@)$/O*5RS?NX:8ZD^"C"D8*
M[?N?\((/+3 (]?L\2%A+-#%/S50:,-W)Z\<2.5,),X:^$54$P6&\^8ZR-^$H
M>\=SK.^8;#SL3B<B%<Q]#GMZTE5N 0:F$%')+>!YJ;1P8%SEM\%]#$YN KES
MJ_L_M6]-^)"Y>PO=;"RIOZ9^;P9>7KSUNTJQ8%0T^RTFV([8>$ 1^\+M(1L2
MC5IZ:)E" E(U%J3;&1[>9^YI4$;0%2[YJ])S>!JH?CH%!"\%!B/+@ M92=YB
MZJ&.>,BF)60, %XIXCU?%4   +9>*\ H_X77AYB5&$7,4X"M^#G];C*>V*CA
M7#=.BRW 6VB+C7@^0I5['N63TBNM>1-3=P/RAMB+B,:F!,/&&P9[$V#8=K51
MHF$78!C;1\,NQ'[WT'I\,FYN"ICEN'_Z]>K1N+F[OG_\TGJZN;_;LTCB2(/7
M!+RV6/A6L<T!.":4Z )6,AS.V/'Z";:S TBPV054O5MQQ/(INN-PTBIV>-?F
MA'TJ3@0_!(4Z53&V$ E580![^,4P&H88G1D0P7A8VXPPK7SVE=22&FX[AZ#A
MK0*J.-Q8&-?$O%)8QUJ<NPS[Y  4T2F@'OX11/S9BPDBN,U\*E $5.O16,_T
M(D@\T0Q(OUQLI_Q4$BH:ZW#K+2&47;'IE<Q@)3/82LQ@^UQP,Y-61E=_3BXZ
MSERTZC 1)L1?YS#&?#F+)?AT?(B@TG7;LAVG:%#)CM4\/2T'M<>#.JOO&NEZ
M^F-%Q\<E&)@@02>4[=[9YG>D)6+F@\,<F%1:8ACLF<O]>\@\%ZZH23CO3QJO
MZ@B+,7[ JQ.@_NE"&!\$(HSH0M<(!I!PV2\)<M^?!%L9GY\(RY"@"$E<-&G*
M^ZNQ,>;8DI5)5Z,<7RC)0T:K^F<B5$J2MQ@5 W^4C;E+X<FO@E&RRO>7!I@H
M+/J&.#4VJ]5-RW!MN>5%=[!@+OL,2>O4K+/3 B+2EL9?&G]I_&\\Y]J)T)DB
M6O\AXU$K\KDT IKDKELO!GJ7&+LG3;/9;);@QX5;&*=NK0P.6JY+:3#O=F%J
M=;-F%Q,L?*]S#=FE3+;=3E_4[#+KL"_'B],3L]%HO)FD%EGT#$D5WZ*=IE6W
MUXNL]^SH7&KP86JP.(^<-=:$\BW/?Z]<P;S9(6^)[V\(9[FPBFN?UDV[7MNT
MB+<AU@/*DFU2*H55->?$6IG/;;-6N--S6.EL2F=3.IM"!V0[]C:+N17>M KT
MU7(.:F%CQ\9E!A2@H=5YH6L*&Y$U'5C+"2 =?>Y/P8, ]@@3_V,O4*0.V"F
MGB>+E+'D]@?:,DX7M&44LPFCB*!GE[S'$!7O#UB>-@^ )B)KOBATH?+=1 /0
M^JKDV ?0X5-$M+(OXK]&F_6@D4 #T"NT4KW28J9W7:RO</6]\UTG!52O>^P4
MN<EPJ_8("NE)MAZUH@AP>@:$)%!@N[@+@[EM/F[:Q!6FL$<A06#%IH(UFD9\
M,^P&J]@ 7"2?NP*\FW$$7Y#OTC\L7W=L&C][+T!S>I<,Q(RQSPCD^ A0#]V*
M+0X@@7C6/S[PKOL)1@,]8;98CA8UNUW[[/F#0:HEC/IE]*GGO7!7R-6/^0>T
M]%[%KN+>L?R+A!1_X%W.A\^R%>_GCQ/O_)S_V30&H8OX:(A!MOX(GZ)!,%IZ
M@+65A+'^>X3_I%8XMH0L#*;TA)1NLO>/90:H-%4(+/T*L$N\\C5=PSF;C=L%
MCM2H5T]!E1_Y<T+L $:[\INIXW%-@PS'0 CT@S!=[PJ9Q]D(,H_3?'-DGDK,
MNQ4A, !R_T3XA^.5-OU=PO5,#)Z_]+V.-_IIEV-[<PR?F<NU:Y2$UZ*V1@&C
MMBO2EF)'.P"L(@<J DR7OQ!+U)LV_+Z]RUQSJ4@"*TUA+YIT[:I5=YH;ZO)L
M-E=K]YTWJ-.&5:\N?OF279Z[RF+G$XQ36E==2NO(@]UA2]Y6VNGV0CB7&1?@
M*IUQ^U  \/>:;=D[6VF:\LZ0$V>)I"BAV(ICDZ$8?ZG4;/M_-3R;]$?"B"Y
MXL!]JL#CYX&F4SMHFR-HBSKE.&F6@$4=%O"X<O_B\[%*$#C5JF/-B.,TX\B=
MA^P33/QLLU4^_=B!F*M3FNM!F:NSA+E.\QB4YKH7YNI8R[1!EN:Z-^;J5-?:
M71=1DLPPY;-JHS3E8IFR7;6MF[OV?EKS6TGEW^>/M\9-$(^0 N R[":0G*\0
MM8W\K2M_FP''L>$0:,,E$!^RDC BTKED(R8LQ ?<_"Y+8B!WC@U\RX@]$^T@
MI.%==Y*FY@:3&?1!]3ZK-(TMFD;[XM>MF(94]4),'-7MB;T J.)8./T1#Y!8
MK-WM\P%+S<&:E30H57#C*GC1NBU54*K@!?.[ZL+SU@O^Z@""9ZF0VU7(RZOK
M4B&E0E["O;Q7ZN,N]?&V=5[JH]3'6];A?JF*NU+%A\>K4A6E*CX0;WFY6>]0
M(^OO3ALOD##O >!H9Y_ CZ@D<$1 K)YVPB8"5Z&QJM).U2P(RSZ>5M?=M-R<
M+55S,MG!M-T*BK.F=;)Z <695;5KFZEZ.+6:IXM+,=["N&<K /9N[<#T9R2)
M-CO7K4])U7H1\8.D.!<C8,#Z C1$D$0CYF@@CX(_+TB5S1.',H(@#/A\7YC_
M5/G0\J%[\]"Y^];6:KM?*U?>6<%W;2,%W[5J2<5:@&&\>1GWSNMM/WQNW_QR
MUWKZ0SMU%JH3<+:9/>38Q"3Q--%'+MN^!1]Z1,ZW"![5AY8P@+G'ZS67F">)
MN0]> RQ,'G* B[,H!!$=WF=^3S69H]+(#R!Y=A*(+^'S,BJQ-0JVWT? ORZO
MD56MK<:+,[?XNF[5-T2,4V]:M0U57SMG5K.V>%3%2WML-CNRDT$6.25S:YU;
MQO5]^^GJT;BX__+0NOO/.J77I5QS<CW*MH(9F9KM6UAC6XG%70'E7+(1_[1"
M<K$PTUFU2>(N_"J1;)<&LGT;NQIXKNOS(HGF?/S)^!A_-/[T?-]C ^,+,&PR
M7[SLT'S:V\M^MI65DGV[;*(J9?T7<-;!797GB@-(*=_-R'=!87 IX@W%/)=P
M/FUE5->J\)IP(>:'0ZM?7+W2>/RN0"'J\W.$'SNA.Q;_ZX\&_N?_ U!+ P04
M    "  4?6-;-2MV>KT/  !6J0  $0   &9S='(M,C R-3 Y,S N>'-D[5UM
M<^(X$OX^OT+'55WM52U)R'MRD]DBA,Q0EP0.F)W=3UO"%J ;([&RG(3[]=>2
M;3#X139#=KQK]L-.L-5/J_MIO;4E^_U/KS,'/1/A4LYN:HV#HQHBS.(V99.;
MVN?A??VR]M.'=^_>_ZU>_^6V_X#NN.7-").H)0B6Q$8O5$Z1G!+TA8NO]!FC
MGH/EF(M9O?Y!B[7X?"'H9"K1\='Q65@LO"NN+^PS;%U>X?KE"3ZNGUX0JSXZ
MN3BO-TXN[4OKG!Q?D+,?)]?GC<O1R?')<?W8.FW43\=7Y_7+2^NL?GI\CB^/
M&F>8G%L:]-6]=JTIF6$$IC'W^M6]J4VEG%\?'KZ\O!R\G!QP,3D\/CIJ'/[R
M^##016M!68>RKVNE7T?""<N?'*K;(^R2L/C8E6*MN#,:<U<2<6#QV:$R]^CJ
MY"@LK;!H!CIEKL3,6J+;4M3E8D[<9!FX?:AN*SVG]:-&_:110UA*04>>)/?
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
M]H!(Z1=.M3R7[#<8;NDGF6]E>=CW=<?!IB?W-G:&0)_K'))7>>O .C;5$=M
M%?%++@<L/^Y[+4,M.;S0XF+.08\?ML&1%C91DK!4F(W41_965OM5]8W.(_F&
M1MI<[4_+8>&MH/:$?(3_0YQ^#1C)-BU3I PV#;Z"!FO:9C#"S 5UB?L@[6R;
M,D7*8%/3FWBN5%_B73M$E6V50:@<=DDHJE"AH3Q">Q$4^HY/,$H[.<S+(UM^
M*U4'^"V61N7+8&UX.!"F72/*M+(>7J@RW?$=&1,A5#:6N=0F?E74$\'4X6-+
MM)T[PK\2"N6:/ 2[78"S>_I*;)W8^2( ](Z_I$^9C')EG2WUB' Y8\1IOZJ$
MMWKU1(J)"27+:I3>[]E^#7()J19M%BNK.7U8X R)-67<X1-8]$",#8AXIA8)
M#Q)G]T3YY<O0$W786.!PY",#[F@-^2S-)UL&*WN>L*;J45/(1-"JTIM?JD!9
MP[;GC1QJJ2=IF"VR6V)2T;*:M5PEM%^)Y:D$\2-F>*)+95N90[+T1J]JG/:"
M>Y/Q9H2R.D&/%TL[6E,L)AGC94KILAJG!HE@76A8)B>5+$.7^M'AX*I[]9P>
MD%=AEFV-2:H,EFT.X/EYRI(J@V4]02P8L&$M8 DB25C%7(-]/MDR6#F0A#B%
M;,N2*(-%X9G[#IM[4#$YY89D389 F>SI>K*@04D29;)(O[:@.5.';-*'JJ2R
MI4USK]465J565D8_N? ;$C3W=>2:4_EO"O@2>:>!3ALTQQ+^"H] W4>/6K4\
MH;Y?V^>. ]=?L+#3D]F[07^CG(S:3^>GUK?UTO+DN,4GC/Z/V+>>?.+R5R)O
MH<K$SIB);HU8ULE;DDG+]T]L&2S)\F4,AV5-P\=W]X+/6MB=ZC.%\\P5V59H
MI>T:>T^M6\R^/ATT#]2_W7$3#*(65A=:5$),,S<LT&3V%^(X[CTL3/CRHMOB
M@P6S049GKM7S=I4ONH,8P$*5NB<J9^L,\+,Z7*"N--T>%I):%!;OIBE;:>I7
MAB%Z\*(>!'#,#'/!S6)EJ+MN'.H2=E35#$N1M-)EL.2>CN44XI#9Q-8/?EWU
MO7G;'Q6;$T%R+"*+893!:C4O8G0RE;K->-"BV*2OLC/&26^65!DLNX-E[V)
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
MS;3@BH4 G'& Y+V1QNK6U88;P.O56?E>\.RALNN07/4L1NU>2K;G=#H^'"]
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
MQ^S?I*C$13.(((<V)DIKM%:;@0:0E!H"R>0RT[24XAM'5 8'(FH-IG::WYU
MODO#82L6!BA(OP5J?:7< =9 QL(&2(_ 5-B.M(?48 >)#S(>Y6YX23$#29?,
M E#H#[$R'DY0 D)!D@*\S;7OQO:J"'U,@T'UH(^@ZYL#BV:Y[Z'E\YM'MWCL
M)_/_]M,TN3K,/+-X9"5!>&AG#Z-[['!7)#[(8+7B*H2N5L'#3]N_<5"%EV9(
MH5:T$$J!WBKMYW2VZMS3:G8*$(RBB$?0A!9+0%,W@B2**L\TY;@/=>H!\4 5
MZEW//G9[H(K,;^N K: #<]30%:)UE6874!5KT3<"V7\Q^NX<W2:\DH KUZ)O
M!D=+4\R0,^&^C&M"7X4$(PRQ&F1*E()-G4HS'A?K]U2C[XGT/G+=[R'_9CQ=
M#UZ*X)-1#O$YALXP-YYXE3@>3, U@\#A9IKE5@?]U1/W6YA>B9WN1_V6HAT@
M(/#VHJ XS:MLXNG9N@G5*$NT8B-:.48!HI.A%,Y'U'P7J!(L^,QJF_D;P1Q@
M-M'0#8[J"'Y C5@NO=@VE\BH\1XHET1359 !H%7*(J$L L7_&:MJAX4WHSEB
MG=A1] /$ M:]LT^G)6_O-...B7J[^%J\HG9.].<"<Q1#X(KC)@GH\1))723>
MH'L$RK%H<1_UMO:>T0W9$2K+ )0,T,9B?6?_O#D/X^FJ/VS;"?;?D%XG1#C.
MXZ+I)_,Y+.:K^_R$A^8;_/9X@BS!'']V<0[I+2Q&UBB6I)<$M"^S.4)$B1D@
MD4$**3,5JL_FKKR$(U3%0Y(\0'GO'<MYWE9=G>%*2A.C<5J57JWA?RT]3MO!
M&HN1829#8(DX8!D-.EE,1AM0D-$P/,TAR=KY&#L!_C[T<2 "*U8P+<OP;B-_
MY[\6:9WF%Y !$:9K"_@(L_-1]$8RC=N[<=83&0$M1G! @HL"Q<<MU;23>[;5
MXX](@?;$P0"YQ2N$KYK90YK^"M<TC?@;)W$Q_M)NO6A=NABS"R2*DJ/O<E%Y
MF7$%*@ $@3MN[2&B.P$^(I7;/X$#I)J]AR\PO6C[K1?T9:;//\>+3\\OYHOF
M'&:7]<OE_,?_IS)GA[H,.:M(C"Q5Q5SBN\),(C&GZ"QNL\'5[O6R!<PCU+2A
MR1H@-V&]);_\<[PHV5AS-F+)*$[11M0>W6")[B_QZ-T0&Q* MMIY7WO+NHWB
M"+5C1U%7O(UJ#^/74U16_/E7=!9>C?]$IZ&X$/^<C1?PHOEC.E)..EIN2WT$
MQ!9X)AXT(\H&*SQSBG'5R?1YX$%'Q'1UN=[FW.W$^3N8S9OI%";K^KX1EU1*
M'10QJ&Q$2F-QF903 3'+@,H8:;<F'[<^^MAXW4UV=T0.MXXGMW#:X7R76\FH
MY$H 1$>4DB6W05+B0I3M33F%,EKO9FO[#3Q>_]QC(W$'J=W!8-U$L%46],BZ
M[%7T:&+&,B27&MP@<NG*#<8I8?!GU3M!W87CB*BO)NX[=(#O8=S..FNFR9>M
MN%NI-%=W7,M*\46S_.]R$">:ES"O.*&G!HP!AOI4E\X^YP"94NN@#2M]I!Q:
M@*"*.@,QWE+&@W?^9I.MHYT#!%(%JA,09DIT4)8N;"8JDM X=DEI3E7UZ:M/
M? Y0'^VI,0>H#T6/>0Z05SI%8P@+.N$9X@2Q7CMB:&!<:,]]ZO32'?T<H%Y\
M=Y@#U$/N>YL#U '3=S4'J ]'G>8 ;2'@?9$O:3;*QT1,%L7^1[//\H@ %8#/
M"6@2G<JS'A7I6\P!JLUY'[D.D%-S*_-K72+(K8Y0/#WE<9T!]S1'?22,*<U4
M$#GDVL;6!BB/9#Q0+YZ:^D*NF&37=6I11D?1.@K$"G0=I?&B+!E(3IFC9YE3
M#/(AQ^AIS8#:AN0AI#G$I(W+?M W?,)EY9B67$.TA">E2K(+)2&@,0,2S64J
M?-"1UG8H[@-T[)9??58&2)M;CP19%81V #-0">XU((<IO*U(U(;!*]M+><"Y
M/$M0$8!2,)10[U##C0(2+.IZBCPH;I.G?J@)/(<KL=T7XWV$6[OVYKT?3SY"
M_#1M)LU927^\JCU9@5P/,-1>@G.."-XV1\5SRX*.)&M* U6)X0G9R13H^L2#
MA=2W8:496J2UC3\\S&9^'>"'#\WDHLCV!D 9E8N..]P<DRDE((E85RI"0C8)
MG1WGK>G$>9>G/5F^JXMRD"8*_9-MA'0FYV!)$F7@K5:6!*'0-T'+&$!#RJ'V
M3-#CR8S:)=@\-%D#5&M=^K?K^_Z3,&^!CYQVWC%N"6X(I6TA#ZCX*))L/4.8
MW&M66XLV@CE"7:DC^,$:V*]4><0!GPA4$"JC)%*4NC'@DF1G4W)6<RMK:\$U
M /MGOA(Q=S:MWT:J U#\QH=FUH8[)F@HI]5"1TYYQ522Q">#9DVVH6Q%>-3A
MMR,P:U*L71MU-Y)C(;V"G"O&!I;Y71>S^,GCV;.V;->@M#>4.P0%P 5Z1<P3
M'TP@46=FO+3H,>5N*7(;GO#42:TGO@%*SAZ8<#"R*6:0-A.=7/%Y,_J\JDS(
ML$+;X&,05E5^M1^ ]-3580C)#S#/ZB3]"ZW/567(R7DQ9O[=6C$(3(%FX-%X
M224EGS,2@A#$>\X@FV@YKWVR;P1S+,I01]H#E'?=R!$K==\C[CPH+3A1-.&6
M5<I]/%JS)+G,@M04/9#:Q_T=,([9M-]2V /<!W0L]L\V&I^D(I272HTR'328
MK CCW@CP*D?WH_]")2T9@)(!#(O79:(!S!=+55YMEF^;:;/6\5)O[[Q5V3I#
M0F(E1I82\8+CE\PY9B7CJ7HI7A=<1Z@TU>D8P.1HJP^^Q70-+"JT#Y9&3CBX
MM$R?<%SK4NCL$@,KT%ZN?>S<B^@(U:0B!16-D94'%2;C^+PY_^RG7Y?U*1"D
MM=QRHBDMOI.@Z!D'1(?'I!,V"":ZNIXW/_N(N*TAO8JEV]=S9U[^"?&BN#V_
M^:D_:^]>E^B<H9(&]'<24Q)7ZCQQN#H"+#$!N!]!ZM;Y[\%''1O5=65;L:CZ
M.KHK4!\63?S]60F.%/W$C6;I^3B?%+<QD=*4CDC\$IV>0$F2:-#(#*!RMUE2
MG1]YM)I05=:U*ZW;,^<2ZO-/?G96JD>S!@<,-R8?4$>]PD5[RDA"&U9))8,)
MW?;V.S_^V)C>7885:ZFO;,ZU%[N^V!Q/+W#I*S>WF<Z7I6;+WVL+SE[^N9AY
M?/YXZF=?6YF4_DCE2K1I![*NS=B1#J4#JG?$0:1HB3!5!D+K,FT/_9XDHM6Y
MNN<PV'*.2!T?&_F;*\OW5)/:]C>XU5ASD+K3^Q\U:&UICU7NLWZ4>T9S9ID(
MSQEJL([$ @12 F>>9_PCUAZ!_%CK1T4TD%1B)+-8Y@28,J)2I.+*>1>S88;7
M;@_XU.M'^VA/C?K1/A0=NGZT6\ILLNA1F)1(P"T9Y68<\<711+,R<>6 Y^H#
MOHZFQJ"7-O2J,>C#RN")YEW ?*\U!KV(NC?C?!LI#TZ]HBSE(,O, >&)#,&3
MTM^I[268'/J>5/.G1_E.-0;U&.\CW(/5&'BC#9ZFAFC--"[2Z0(7=[L@4E9.
MR&B[Q7B>2HU!+U:VJC'H(]*#U!BD@(938H&8K.U2Q4M'>*)\4CH:(:%CB>E3
MJ#'8FN_JHAR\:4"[?U'AF2TC:YA#,&5P'*Z<XQ^1&B>-5-1V\C*.OG?(-M9=
M);E73!.YM[*Z"Z;OJ7=(+XZZ])'81L#[ZAUB!+=2&D]4*.9+M(QXJ4+IWIL%
MM9K?:@W_!$COWSND.N=]Y+K'WB$JFL2S5L0%6M:I$G$93SS'@=,0@P7Y??4.
MZ<53Q]XA?80\0,G7Y?W2VV9ZW0ZA-#-O8^G2R]%K*2=:<,H1;H.,42:I;C9#
MKE#LLP',$?!?1] #O/TOX/,,XK)_)/Y] JU@I^E:QK)3,3%C.5$,T"@UP-#D
M%9IX:S@H2JT4M?N*=,'U2._8=HDQ5Z=C@$UC)80V@RR-BR]SDE(K^(_-FZ9,
MI/RRZ@$^'R5M8O8&B"U=>*26@N#1Z0CC"IAAR<98_8JB.[PC5*"AR!E@ZUFA
M<%$%B$P2+J3"(U"B-CL0N,NFK%U"+YO6OM [6O:W$.E&U['J9?JJVO7J=KDD
MNL_#U]_\OYK9:F9N$<$.E^A]'U'A\GRG556Z-'\QGONSLQF<M6IT65=\I4\>
MW^0@)!"3BXE)LR&^#-]0QGH7D].T>KW?0YAV-EKN_OQE&";HH'/VE)@H2RH)
MC7@PXKM0!MXZEG0TK'8>T7UX]G7]754/;IDEM01^Z#ONC=/8,S6)1B>(YJ*8
MX=80F_ /R#'SA/NI@DZG4+>9]->>?:@89SU2;T^GWUZXE:-9F^>Q=P%5,9:Y
M$<C^@YF[<W2;\$H"WA_[4GFOP1-1KG*DPC^"XZ4/ T@3>:16=)H__KA8OR>:
MN2_2>\AUB#OJ-;)5=,5*8Z)#$$JYT@I62^)TB"2K#"+0I%S'>J+;G[W?J%0E
MB=^\?]Y!7+5OFG^=-,%/7LW&L4CQJKYA!:U,CH,8'8G@(I&&4X*K#(1*$.BP
M4K1GN@VFO?\Y3Y[5BF(<.H?DAO(A#.4D6AN"E3[:5FD2C%'$6/22*&/QFT%'
MO3)'CO"]K23&(=H-WYL,Y64(+(-&)Z34(^MLB9/HB= 8M>/&6,ZJYX<]QNS1
MZK9W??$/WHJZ"YCO-4VT%U'W)@UN(^7!TT0U!VO;GC=2XRD462).*43FDQ$1
MS= ,M9N+//8TT7J,]Q'NP=)$E=5X*'E#N$N62/":."LTT5(FF30HK;8[[!]K
MFF@O5K9*$^TCTMK&^[L91#\O4^;C#!:P-DEN]$].S&O*(J$BX[D6?.F?G '-
MD\"9\#10KCMQWN5I3Y;OZJ*L_8Y_6 !,[H9E;6(T!S15K Y$>HZP$G/$H\^1
M/2@JDNO$\.9G/%E>*XFM=A?03EG)/'@*&BAAJBR::T>LPF/*"64E2\[1U"VI
M_RDD>&_-<'51#M#$:YN^Y""%A)0E@:C$LOX@@,C$&3QO5(K95A\K]"2:R ]Z
MY38T41LM@&'O_3^.SQ$T_G?FI_,,LYH7_IL^>XB;_D[KV-<5OP.7DT9#(&5;
MNH+(2'Q4G 0F>>)>4NAVF?%DKO@Y5]S)1"+@*R5S N(8UT0%JG#QWNANXVR/
M[8J_CQ[TN^+O(?!#7_%W<[=SC,Z;$GVUF:.S%!6*B@MB&5K.UD!0]6=O/[U
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
M?KZ,XPMFI3->D< H+P,ZT>P(4A";4Z" 9@>O/N&X![PC/8.')FH G_H>J%=
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
M'B4+_X0RJ0O2R;)K;&L@O? +>.7'LW_XR05<>WF2D[K,*DBY]$O1*9( W)/
MG7$@<X2\]P9*^Q7!$]H?GTR8:# 5?%*^;W=QC, )YQ4SQ"HI2JD8;IG)"8(&
MF'3.)2;@&%_#)_3N/0;E?X0O<B_-?5)O[_7 0@=!".FH$D 2]8S(XCK9TIH]
MJ83&J?'<Y_QD7N&>B__Q'C_.]WA('7["T;.'!:%20J]2(7^"EM+M&(GS,A&O
M!.-2:Q-C[68HCV;Q/U[FQ_DR#ZG#3S&"=S&#^<-2R,%1IPR07)PDR8"30"7^
M+5&F2Z50@MJ=-Q_'RG^\QH_S-1Y,>Y]FS/!A&4@I.)4!39$R4T>FY(G+3J*;
M@11JFK-33^<-[NL;5ZT+O/SLW\#/40%;A#6&]W3[X J5?5NLH%+IWN63G_G)
M,G,08/'KK+GX/)Z>7<[T^[! "@NHYW[)]U7(#@1G.@2+AW 9ZU8,;.]U)I1%
ME94"R7BG+HH]U'A7S+MN'U?/_WH7@F6!CF5.<F48H:7Z6Y;>>9ZG4 :9J2!=
M= )JCSCI@FM?Q79[U:N;IUQU@AY+%=T+M)&_M'O"U5[\?CS_O2UU4%S[I"@C
M#H]0(J4&]'++_+PHHM4A)O"BLL;=A^=0-7;UR;\U![<2"8/,3%YC>XX:./-Q
M4?+,5\GE7; -5!5W'Z[#5+?58W&C>E2B8-]JPFQ@01M/M+% I,,7Q!N7"7=6
M*25T4'*X?61?ZO% $=EAM*./Y(>X=/C#?U[5C APGAN/NZ+(KK0$9^B@J1)
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
M%K@/(=+)U_<P+[DXXS"!8KOBX?1Z&B<7:-&^GIZ<S:"U8T;1 :<,O1^K2HJ
M4L5A+@.;>#2,T@2!LUYV0%\$QZ8J>V'BMOK8.NJSA/<>_N=B/"NN#ZIV;F;G
MU[8ZB9K,2E-R2TOQFY.HYUX"B9$);013,7;;2?H\]6C5I+;$;ZN&VWEZ5HRS
M"S]YU<Q>3K^,9\VTZ*N?E#+7*Z'@(D8:H:A$@4A?DKR,L\0%I<IMG7396>YC
M[1AI5VQ'I#^#TG)'F.O^9)S5M\L?P<_AO_[C_P=02P,$%     @ %'UC6X,0
M2>^6G0  H9T  !0   !F<W1R+3(P,C4P.3,P7V<Q+F=I9D1W9504[A/UJG1+
M=_?22X<"TEU+=RRP=$J)Q)*"2K-T"PO2'4KGTBP-T@U**:7[_O[O^^&=;W/F
MG)D[]]XYSWE4U54DI>Q@6(;/_@#^7X    @   < D   &@ $ ( @ ! " ,(!
M0"0 B :  0 P" "& ,!P !@) *,!$0! ! @0 0%$P $12$ $&H   ! @  ("
M0, !""0 @0:@   4"("" %!P  H)0*'_ZPU @P!H"  -!Z"1 /1_R7^S02
M! 2 @P#(_VH@(  $!(& $! 0#@(B04 T" P @4$@, 0$AH/ 2! 8#8H @")
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
M=%F<0SQ'-#>OC+G% WF_HK+-5_HO0=%]Y%!SS$$)D9?8T4/D7RW?4!?8LIK
M7XG%\WB]U0"/9W81:I1W_VN7X4,M=I-\K(=%[B[")B%?A301*4*A?7#]RS)#
M[9]](0@3REH_P[)]^B> !6A%S8\IV?"78E^75>P_@L^BYV0.7,A=QL<@D$"3
MC?Z RH8O'E$@R6X1>EE=9OYOJQTZD0FO.).I[56#/B[^;,":/@Z=!/!MB2_'
MFTEQ"Z>^9M_7.DTY2Y;4CXS<'W4A%9T+\G>Z*\)>'YW!(N$Y2NN9Y2D&=6M
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
M+?>N+8M2V/_FZ0I%.MCR)'G.VEL4JQ56:T>K2!F22F^:6)YA#."8]0IC\Z5
M'5A$E- #T5?X<GYR9JR=4J?RI$EMFVX<>B[E4@.]@882EJPECD?E!U+U4@3U
MWDW<9/3QM6M"?#MP&YI<I!!EG7[?5TW"SID2J!G!T"JVQ2AURW7>(6N_;$YS
M.&^_:N3'/01-6Z?84"ZUS8>N3*'7WX-Q'FS3]7.9LN[2-&3$(H,3Y.ZC@Q4P
M%7")UI>'LB73(XJ50U)PWW<HOYY-U7DY?#[>S]7=T%/:_"Q5...(+)%$L0K0
M*T0N#]<<\"XCP9!]XR,Z0FZ 58JO\/R:;T(DYT"=5H:\8&T"PW\>ICM:[D_
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
M0@_-G>TBKN\5#7P%'A!%6!$#S$+:20Q\QKE8$%K-M)'YC??\JV)ZLC5+'[8
M8P=!S3QSS<*$;;\4TS>GI;_$9KSJ$8=+R?"'-2U#GT%RSDIWP98%?.#LH%TS
M+(S&0"!)E(V7I-]3AIR,LT$"STG&T'!ERKM1UFM"UYPHUOL0V]N*Q:M].EW=
M&@J-JE!L) #_C%224W@7!7)BC)[$;,S6\=?&EY4^J7(B:XV08G3&*-H: 0M@
MF9\] X86&],^TX47VY(^\]1=VJK%4SQ-#9\YZ1=,4="O58&^UZHM1"&TF9/F
MS1&IW3#/S4PR'$5!<H 7$BX\O,M1G7=3+3!5W<^S+6L&8QBZW1JOU;M<4LNK
MV]JU\=K=94J]!J005&51]FL8_9"'4A#RXI'U@#*5W-,=5E_13<3!EQ"!G=V'
MS=)LZX6C\I(U4=FGXX["^&#_76].<=)1";@P U5"I'O>DQ4AJ]07H<*" R)*
MN4142$1>PV>UA-\03>!*MR]7W# .SAH*CL32515@O9S6Y5Q@CN7R_P+<(#5K
MV+&IH .JL,MWUH&[@J+&["4O5PUF=)K3KY.^5H. %<'#L]K2,3V3NB.QW'8[
M%QN:A=W-U-BRK\.&<YPTQQK-H3W>[1>X&@S?JA/4^24V FXRS!PBK'-'4TY_
M*M%AG3U%HFX0%>X:3RB#04/F\8OF^_#/.$857FX;#Y?ELPWKK7'AKP4-A%=8
MFI YZ158BYDG.]H=R[T/O$X:7)YW)&9Y@BAIO^4U'TH/4VJQUN:,S>M+L(!3
M,E[NBFX+K@X\KQK#I2?#4S/']=F^) O$S11+M[6:,V+D$Z'N]%(/78&P52,V
M1A&/*[82SP)%'G;E8?[KZB;MI,';'O+P<O]SZP*QD?*BSP51Z]9YG;B]G;X=
MM&ZHM;;[)B GK^#7:Q-,XA,XL&98L)&\LC4CZ M!S6!(X\S;A<$$#KD#C0,&
MT\"4Z4CI.N+<TPT:MMB"ABN1\6"VZ?,!Y*-WF1SLS">R\+Q"8O6'[:\262PW
M(48]RBO??AO/&V9UY@N!)]B!]F>O]FF/]FU_?MCARG$/]W.?"7*_].R1ZV%2
MT!,_&D2R]G_/]H O^($O@2#_&W<?F<'.&L/^6EBKT3XJ*/0ZS$)JKUUK+WK^
MEY)L7UJ'2RC2Y/I74S=.V',&W@5VV"?LZ#<![9<TG">XP>R;;$%N(3FN;NU@
MWZ^)-J%M;WJZ:$S_3F^VI+X(?R[3G2E0WN\#P<].&*@>SQY;OC=E'X/V@O@V
MQOR::"6=AAKVTMZW$>&NVQ#)#R5KSN;B);O#K*\:;AU(6%'-T_U7<L4V-_W.
MH]\I:(%#@4=SD16V\/D",:LV#Q"V;-422'#@08&P#AHLV+ A088(!4Z4Z'#?
M18P9-6[DV-'C1Y ;7Q5Z]2H5R5=_1I9DB;*E298K799$Z9+DS97$0N[DV=/G
M3Y"]6!*B6?1ES*,RB]I,9=2HJUY I4Z]:*MFTY4L3\)4BG2I25=9K\:<F6H8
M4&( U*YEV];M6[AQWU*E6]?N131R]>[EZS;37<!I^PXF[!;-SL*)"]\ )@PX
MAF+(>_]2?1S9,MR[!BXGCN%Q\^>UAQO3G03ZLQB>@DU?GC3:__5KCIDR:<I$
M;/8PV;=GR]:$F_9NV[5E#]/T:3?OW;\WK@:]46 O>K"E]UQ6:Z;-E5A9JLSN
M-.Q(7M$_TN-%L6)#A0YMP8)H_AM%@Z_,%TR_T"'[@>G;3>>O$97WF+C;#BF<
MD!+0J)F0$J\_!N\22BN4L"HDK*9N<L6E"TN2D*Q7OGMIPZ@:G&H8#;W**JF2
M4"%)I01/=+' L' ZZR=EF+M,1!Q[*LW&R";+T:-,>(RLM9"$A*RS'S_:T4C"
M=*+J!B83NRO*MQCKJ#(J^4(M28[RRI(O)T.J\4N^1./R3(U^HZVXY) C;C;C
MUN0MSN-Z2\ZW3(C3:$PR^?+QHF$,ZO]%&31?T\<6#DOZ@T(.:R++E0U?&6;!
MCLB;J#WS&,)4/7 N3>@\3^6[M+[UU*.(TD+I>K&K#$F*<2L/4SH1)ZPJ+&JK
M,%/5E<0"/S1*.YJ O4Y86 LT2U>/2!1K)0%A["HF6UW:2L,6N<,J1)]4ZS,N
M9+GD<UNXMD362W#ARM6S<N&RLML@TW6+4,K<G<LN<)'D"$MYU;(W53'R90O>
MD+3UE\ANDU3FN..(^43-W&@+KLZ&(49N-X O6M+?M?;=IQZ'>M&G8+H093$I
MG$@"5M%&P:FXTEX\A0\_EQ.*J#U-X;,O4X1HMKD]D*D:L,2C(FUI6@ZU<Y2K
MK%#M.4>AC)[_==F1B+;0I.M<](JD_9;>IQ=AK_YO: *A%GHD#R>4FJ6L??H$
MX[6T;O!;?]?5M5^V 5BYH[H!T#A5@>6M"\JZI]Q6;HW(Q;A;P#$^UZ.UZS;3
M;09EL\W.W_*4\V'=*!?.<M[>!(6WE1//>^7R'.)E<<@YLHK L8_J=25;TAZO
M/()$C=G3^F:>#]&'/IU(ODUW-_6YU'N">BS7G1KJQ!A+(JJE#%.\N_CIE,VJ
M=>6O__5$IPNQM21L"[;>J46MKOK Y%'T_NFBI@>I;[^IERYO  JFGZ>\"4\5
M[OCC#;PN^$5I;QAI%]O^A*85U.V '@E@N@@F/]@@C&&5^UR;Y 0Q_X8=YTT+
MI-]:'K@/=X#J=!#4"*)^U3RC'&A]'2))+891CYT0HW0XLUU[1 613B%$(?$1
M7LZ$ARF#&&2'#5$:"3-RLJ.][GNT@I#5G(B2(AJQ,;V('MG(,JWO)$B+'?I*
MA&XUDG,43!D/4@H2E[*A89'D>0'*3HN>UI0H?H1__9.BX.J&.B[=#S%U6T'/
M_O>DO-FE@&32'T8:6"YQ%6IT/)FCNQY7Q[L<[(*:H\V;*EFYW6QP89)#SF_.
M=<A\.6=G$WDA"7GAE-=1[5$QL44I=S(,G)TG(C^TF42"*) ;.N26Y@%'+7*'
MRXE DB,X(<K)@*;$ERAQ125:)DOP*$RZD/^Q6;*ZHLF8E<PKFFA6D)K1F93A
M#E@F"D'<$R?V4#8A$Y7L9\Y$2R"A^;>\/?),@XP;_MQI/[;5!5_^LLO%OC1
MC.3- +JB9[[<MQ%0;NN#[YR*/B[9)N%@\C>@V*":*AHGW%"L<!U<RP';H4.7
MU0(ZU!-*A+:HPA*)])D;H4?+[J-+\^3REND)GBU[^%+>^;)F\ZE%&!EZ$:V<
M42G6_(H3GY4]F<Q2=[=;JJF:6I&G1K66 NDF3]IQ-G%F57M=N<E6L,.26=Y4
MK&.%CTJZEDWE%>BK7T4?5X%&LI7$D7'W_"E0_)DO@/Z(;FQ+Y$=$YZ^#YC&?
M=/EK*.NR5S+E=1\/^\S72AN$6'[RI'%LDV==_W]R'(I&+&*3FYAM*NA)#,X&
M&AHI;-WV%M+AM6,9;AO?%L-6$EY4=2<AC-FF:.I#IOIN>+VCV6W#:E-,R=6(
M4'O*U5+T(EN9$9M($TMR4<*=]9GLN<%J(\JB5EUJ1E>5V76N==<7OE<&K2C-
M2^4:CVHB%+Z$.]&+WO/0Z2J4N+=Y[:5)>J]9%)3"9(77969,_E.UF92OB\!*
MQ7>DDM ^658J!36HKNA7V7OE;8%H:B2X"ND3QM)Q*J6-4E\U ME\>?A'&797
M3Q!,IH4JN">2[.0P-MF;RL%X8IO#).9PLQR.KF5E+AT>$'LAVUU5R&D"&EDK
M9<?(7NBLQZ"*&<QXZ__;4IF'5$IUJO 4_#5'9=%6Y@UPHHZVO7$J%T7F>^V8
M76OF,F>O$$<."1F+NA4S$ADI7DT)"N6L1:Q8BUI<@?.>:T74/B/US%5T$5%<
M552A6A>I78R:5"I<+A73Z,&I8K"\'(L1#J=+Q&<Z,944NY-,E^O2("D7A"VF
MQWFB6DSQ7-K!T/#J5Q,CL(*<V"3G)%&(3C Y:])(IS6]D9K^=B*]&#6#2JI5
M6\26'A\#2DMW2V67 >\@M[T9SJ:LRTY!>V;U@9E(%6PUK++Q*.F-E?>DVRHU
MG^W,J<3.NLF,:%2:+RS@;7/4SMQ<<7YYS$;]*J+9O5RX[M?0QQ3W> 7-W+;_
M5@UEQ3RT5PY,UTCO$>)) G&^1KN3BFNX4(_N4XHQO$BJ^-HT'K\(Q\%E:@:1
M.%T7YHC(HT3R'REC$BI7RPTF;!>'<;)S"4-.<"KJFXSJ9C8KJS3(,7*.WTW;
M/D!\#C&8G203OL(@O#C',-PQZY X6STS/4@-IWJ[40(7I+(<2 YS6S/A&G$L
M_39WHKX7K*YR49O=\XIVO&KW)N[7[G%_Z]V#NF>]YUT[] 9).[[V1>5!-VR0
M0MZ SL<^HX;-C?"6/-T5S3VBMAW@Q%6XZZ9%$EM(9;*'BWA/:%YJ"G>P)X;#
MV,V3Q'IWN9XGH0:7[$,"^RRA?!\=Q'H$Z;=ICHS>_U^Z;U F,AX7XM.HUKGN
MI&P^IVLYL>DWH<LQ6_K*,6CSU%,$Z<75Z^KL78(*VD.,)6]UN]MJ8ZH^TJ9V
MS%2LU>T"W%%M7582M_I>XBZW16HUKKZ+NO_\"Q8@ PE>.9&!0Q'R&ILL<B*5
MB!5JZAIU>J+\<Y14<A%UTR]X:Z9$62^4<AKC*HG0:Z<_*KW;X[TS.;UZT1'Z
M^30<.;YML;V00,$^23YTJ3V0D,$^84'8Z" :W >78Q*88Q!E<$&] +X%8YB,
MRKE,DJ#:, [9V*3@R#D<J[ZVT0B7HC+; 3N&^+$ZH@=88C(A"I[L6XA?BK+M
M@ZIGNS:R"[^)8+-W(IKS.O^:MY.\-!.0[X##ZYJOJ2D)/;0B/ER)5O&0/D2G
M/X0O/^0B"HR) ?P(-X/#K2@?8PFX^UN559$N/O.S9OHS5<HSKU \-4LS^-/
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
M#10"5Z3!HQO])^7B_<27==5_ M4GC2Z?P,!/>V_/>=G+C4LZ\IBZ*WZBA?3
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
MFI*8P1"I@%!I5&&F-ME%@CV" QK%TLAJ;:U/@IS5-OM<V&DXS*[Q,#.RQX
M'?WQ4'%+9 Q<7M<(V;FW8T@Y\E]-A!WT5;4&FL\O-9%KQP<UNM$R\(1^X>QI
MR:]%-^IG_JAJ_J_N)7%5_4M1?/?2?;GQI! 1&?.C$/I4%0MF",,,2_<SB;GG
M(\IY%!O5";;D8^)YIN>J*:/7684U8V"+L^8 ?4P;G#X /5=V!EC-C*X5HI-4
M5'$$D:N((DLNY@TU.@VJO1BD$X>SS1Z03KE\)5[>YQ5=%JK_A6&<W< (4WHK
M'5&PH3I)()V&=,Z"LH]3FCD6>U3D_1#L\5MLNX&0^FJE9OU6)1A_>%2*T#9R
M:TZ* Y_3)G\](9BKMI0$8NH%,,69P$AM#+',9/(=)SGQ/*L8 !L.5*';GH<S
MT')A5558 TL]E7>+D)GF.P#'HKF'KKS.6GJ,$IRYD8<N /OM.[3OG+ "^@*C
MD/"("8A2KOH$A2DD@JI&'JF'O9AQE!KELFI1G6=S&)3K,MB/6V6PBS4;$Y0>
M=UE1?/)]8YU"X></JO;"S,6_I]DU'J'Y_97J'MDOUKSYE*BZA]H\J.YAZBB
MXW%GHZ_KL*C#NGN*E&;J.1!8YTH=CPES8ES=PTP>^3'V#T?5/3@Z;1U6./FA
MJH2)[_DBC>1TGB !223DI!J0#*9^%D(1TBB,/3]*4ZUD%TOZ__M.KUL8.YQH
M[9";;,K=L#/SM+N/PYP3\!;U[V\JWH?&:E(^,(S+1-!%&#"/99D'8S]-I>$)
M/8@#FDB7WO?]((IY&!NM^ ^3F7HWO2[H/R!I\D3I%EG##?/#"&GNAY\LM^%V
MMV%J[-3YL*YWK0\3^0[R7X_N.0]?;1& <?L5/P9]<^LPBJ(L3J''57->CV&8
MHLR'/DV#T*=Q3#,M_^#UP%,KIJ0$ H-C[FV9AQ7O%$D,5:T1PN;0?EL:@[-Y
M2ZGLCN!''I'90?L!S@?/T[>OG^_8_ "7.Z?CA[ZWS*M]>%P6+YPW$]1ULUO7
MO0XFB9_'!IE8>7NZH"$,6LJ&^9U'Y=>;59V([GAB;=F8H-SCJ+"N4D"/TIDW
M#71,W+U4T-$;+#:NND:BOZP><W7@9ISX=G2 J;>TMEO,_O+IYFKK]-:\G^Z^
M^!H[6RXD-]SF&A!Z@J2V40E/ZK&[/^KL?7:/"G:HU^[QBRU\VX]YW2UP;WE=
M+QO3JLZV\'*I?NT,[QTO'Q81CD,_2IJRJ=+UC?P(9@%BD,9$%560GC'7RD<P
MI#NQ_O93RV-S>&?@4QH@I^% 3X.'F59O>  ;)L 6%^MY6/$Q#50&WODTD-DY
M[XZ@,W/RS0$87 ,8##??$L%<QIT5A,7M=@N,Z_H++]6&0\F_\%65/_.V=./'
MHJHN</7E<EE\_2MG]_QGG*_4A^^X*$K^F=,EKJI<Y+3A\@Y_6W 196$2)1 3
M+X4H2P4D(@X@\3GQHS F(D$FRQ9WK$ULBG]=E1PO\W]*AU^Z$A60RM3LG G)
M(/BB.#P#-?YFMO)Q^&#TEDIO [>9I6]X!#M,KFO#*I9^/ .*5:!X!7]MD5?L
MKK\E#<_@-=.J">3QYV.\$',/I:.5FT/&9EWJN0?T]=IP @J6QRQJ<?JE6,H[
MJ@__]937+PN:I$*$B$"6IB%$*(X@"6)I8GV.,VES<91*PUK(R4'SB&6/A)&!
M7!/25ML[=0OX^.=W?P:7155W*HQ7+Z#:8N7_^F]IX"?_-^ -2X9'+_NH:1Z[
MG(2%F?5JQS\#YW5=YN2I;C('ZD)EX#M)51J7R=7ARCZ!>0]6C@JX=ZAR_$KW
M_M(G7E\+:0':>,K77876H?R9E_H>%Q1Z*480Q3R&:1A%D,6AX''LI8$PRH\_
MG:6)_:-VUJ8[L_8/RE-2_; 4IV>JQKW*NY%>DF:1,H?/XW3WR#W*SMVB3RW
MDLE)4C/<H3.#IZ/)T'?CX9@!:.+9&(YLOCTNUZRYO+*K.-LTG\UY=5,6]*-F
MI7K-4:93KHXXZ*L3]^0!7C'52)ER]B1O=US6WE!LJXUDG?%GVU(V$'9[<]GD
M-KL9_Z*I5]LX$LW17G7^5'\I2K7<7[ H0Y$?<QB2(((H8C',(N))F%/A^0A+
M#HVV/ 9H33Q'7W15>17IL[84KWS#U]2;0KWMIX85>H?@TYMY'8%BIO4='K<M
M'BU=L"'L;N;4D,[1E#A$:=:Y3D/DUY.8SBVGM9,Y7\GYKY:O@"JB=5Y5O*ZL
MTW"-QISN'5YW7%$SU881T'(R=;:N%0B.F[7HT7Z31BY&L!QK\F(VB)V"W&!5
M9J[JPFYPS#*?^"G,!)6+U\C+("8I@D&2L@AGON='S&3&VQE]\B/3AI;9_+4K
MOI[^6PMEIM\=F0DBB0X*X$@W=\>>5?<.BO5:MPY?=,)F[E55/7'VONDRV2ZT
MVBGL$__:?%4M.&;,8\B'F%("48@1S$@6P#!.,T22S(LSK2)H9F1G\BA;UREO
M2/;[/-V'JFS@%[X\P;O4!-A@+]@I;&;ZW(9)M@R EH,NB[[W0-4^SM?VBN-F
MS&Z_6%MNEWO(XT3GWU?6!N+@7K/^W786I9WD+YY*=62P=DL#AI+$#SG$:1!"
M)$(?9G(-"ED0)")"'DKBP,2 '*0RM;UHJ0'<T#;<!CX,BY[:GRRLF9:WY,Y
M+^\4OO>@2(X4^#"-6?5U4,S7ZCE\L9TV?LPQR9>Y*K@L7?$#AY!9C'W*8P1C
M&J80Q;X'22I2Z 6$<XRB*,&1R='M&,&I#W*O[\X_@H]7Y^^N/E[=77VX!>>?
MWH/;N^N+__G7ZX_O/WR^[0]Q/_P_OU[=_<U,B4?1U--GEQB9J?86Y6;-_6'X
M)-M8K74E<Z3AH^1F579=X5_KO?9]%E'(W=E*^5B4<M5P(6?Z>^EM,H$%]8B
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
MC%39/"2Y?8<GZI-YZJ/0FYYG!-C<<!SUN+>K8LS>6M,19 Z+'YW"S>P%D1Q
M=ZA(DHMA+2I5-@6O'^Y_63WF%ZN*E48)6(?OGMC_:"N]W^4/2CM^^71SI2+#
MJUS*:Y)S=43P<??C=)G-[,B0N$YSK(8%LRLM>7C(^6I*#HJT4TQR^$IWF<YM
M_X8@C",1^PQ2$L00"9+!E%(!8]_+F$@S3D-FMB-XE-;D>WL?#R?RVK7(. Z9
MGCO@! 8S!;65WTG^\A2])8[3>?.,Y<'>#^,W6*='JIKS_#UO?UZMFDVN3?#J
M5D3K(LY4#QV&H4ABN8 @2$"<A0P2G/DQ%2GW$Z,8+Q/B4Y_)NHHB-P)43^^G
M@LG,%/1<@!]Z/GZ4BR?0 K?A93L6W6E.FC$$[I+,]$G/G35F#,J!-##S,9QO
M7RPP(1E)$PHC$OL0,2^&69@)&"5Q%$J/ :58.-J:F'C;87=IW.76OMZ#^/CG
M=W\&ET55=Z=7VEEA.EB>O+?P'>X;N*ZBJ2']]%L W\WRWF+I?J(M>-\U9/FY
M+)X>*SETVU)$U4UN,U$YVR2B?L(/O(N)YFE*TCAF, HB*CT0PF&69AB&$65"
M)&' B5$';$L^)G9&>JY PQ90=&T#S2UQUK,A,Z!G9E^L@#,//S]-;%<1Z99<
MS!ND?AI4>W'K)PYGOH?8'=ZHL70W#K=NF=A.*!+ZNX+;HHQO!5I*8::O_7GC
MH"!&&WT'V+;:W=L>9[8MO0/,;^_C'?KZA";T3[1^*J7VR#]X^<P7:90AQH(
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
MCYC54MPG8J)05D44KU;/TF4NRI>FP:S(OZE-1'7. KAD E#%19<?%!CN&AZ
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
M;#HB.W+9!DG-ZK+I"/W:9=.ZQ])LRM?A$WYH.^7R3/A<B !2#Q.(1,0@053
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
ML0[;$#RC?FS6 /(DA8G5KBO/WA%%#56DR$*KTK^6R[#F.4$+TSHP4(L"]"?
MG%%Y_O6,,Y></P'HL-;\J0?AD9<W<JVUUS2DLGM\8BVY^73=U%(W#W[<P!C6
M TL$L"]_E'E0R.$K=JUB"3=SS!8D^(KI?O3?ZU]9- TM_T:7E]5U?E.6?R\_
MK<1U_NE_ZI?+/TI1_5RN:O%EU?RF^KP4?ZOJU?W5>B6JCZ7ZX;D4?R^[N#?3
M+J).J$VM+V6Q+M'?)2V1XA!]ID79NMWU7467 =S6*D8_EW2E@^N*%;I<O:#>
MR/H'K?70):K7Z!>I6YT]/BYUN\6E1'^355-D5J-KG&+5QLU_I3LUJ@GU'(!N
MI6Y>XKBZS__^@-;BG;PZAU&6[L5NUS/5#0OS-5%U*K*]KJIN9[9,(U5?=O-A
M?Z!+W3OO]H?Z3G\NUT^/ZE/\7*S4OQ5T>5O3NLEEO:*/S;?Z=9L>F62!Y'Y,
ML9^S$!-.0YSF,L=YE 0BB2@7(2A8Y%R&)K;I.TMP@3H.4<,BVO!X@;9<HBV;
M:,,G,$'UW+=CYHB;4^8P.WRNN*=*?74D,%=IL>>R,V_*K"/A':33NIK7HCSA
MS;>K#W3USV]_O?RK_O,ZOWR0I5KI]3]<J>7]7W)5;1ZX7(G?Y')9?:;E_7K[
MC]75^O9%;06Z @'WNH6">O+C>KFDI7[JLQ0Z'/"6/BLXS627U0TMZX(7CVH'
MTFV]6);$>9)Q'!!=NUKF$<Y"/\,I#T,O8U3DF=&I\EVAFGJ?_NT*:<H72/-\
MT?RL]WD=VLT_;Q#O/:MO!!O<J '>CM6_0K12.SG<0X]:^.V85@+=5)T04">%
M=A(UGJ*>* #%$-_+>S,I//E>>)WP+''L\[HV^[PN3WY>ER<_KTNCSTN-[\G
MIN3F>WESD/J>[X5GR-=F5TQT\]6U7\O>Q]7^T^%G1;NHJ<NJ6G<WZ:]M8??M
MJ2_LPR_7Z+]H61;5Z=&.2I:^MY<V6!_UW3 [7S'6=P/YU<;P?3('=ZU>/]55
MK38-:O;+^_OZ4UDVR=H/M:FW].0$4X>5[.BJU:EM]2"1(K]>R?637L#Z)00>
M=*"?N:_RM%3&W8].! +;!;B4!<CG-XK5RHUW>M;9/'.CP/K.MO&';2LS/J^7
M6N^O2BF*^C/EQ;*H7[J=24ZD"'UU!A-,>I@D),<L8QY6!B/V6$H3+P$YQP:I
M3:S,6]J(-\11WE&'UF <$IB9O\J9&& JO)- 2Q=M"#OTTH,@.BNY.$1KYG*+
M!K /2RV:#++PZAP6>;WDO'R2XE;6];+Q(BTRP;/4"PG.0]U!*,L23%/&<.I'
M"15Q[-&0 ;*K3.D:?>5G)U=U9%&UI0LX'YI(S\!!X$H8SHHY?]'ECEJYW$XE
M%\"1UK%\[$Z;Y\L)=B0$@!X\K9G,,]]!"H!J[XP#&7=N'<F/,B]64G3UYG1M
MVZJ7A]-V LQC(F684YS)1!>;36)=33+3Q9QBYGLY%SEHVP.B/O$VJ., ;2HF
M-E68SVQ^:B)3LYW19)*"F4TK(9U12A( UGE!21/:;U16$B"6T\4E(9-8E[+6
M]W5--X^O!67-[FU!B2Y#2U(<9XF/B9?Z:F,E<LQS$L510&@<)["NC$?I0)3
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
MCW?RS_J#XNF?QENRL8DFC[S:=L-4#/ST_)=>4TS GFU4' ;;.)>2 .[L!H2
M?M<,H(8#1V76C9':[0!'9Y]O4V@*=&^?:#S(LHGG=L;KO%]5Z[M<ZE#4JW55
M5[>Z1?0'W7#WAKXT[O3=E\RDSZC,U9(H,XY)E F<9I' F<>C+(H%E<0']?<\
MCY^I+[=T V+<D-ZK00;L_'FFS,W<4#-*$GA3IHEV0NS([F4FN34QCL7AJIWH
MF=S,VVG4C>@.FI ZFM:V5E43HK7\NJ:K3;18FGA41H&/J0C43I_'B=KI$X)Y
M' 62AU&8^D;W\ ,T)C90/:*HH0HMM70HE&%KXP@J]$+N%4J;R,$3<*'%I,Z"
M?4;]**.7;%$GZB2>\=)0AT-GK@9UDO?# E"G'[7;1[5-6[<W18)[(0F8CSD-
M(DP(9YBR.%<_"9XGB<Q)8.2!.S[]U*>@V]M/=[>P/<TK_&9;%'M4P!--0V>2
M:ZKC$!SM$EY-/NNB?QS8ZS7\Q%.65^I[%2F;D"\2>BGWE.+(* TQD9Z/4QTH
MYV<^]2)!(Y:#,IX/24RL2P?%3RVBXH[(Q4R_SD,+TS$@4/A]\$DLKJYV#PG,
M>TM[$N#!A>OI)^&^NU]7HER^W-]*_E3J.K#_K)L;J:L?J_L;;EPT?7B6B75,
M$9>*N@Y)V#" ?J'E/V7=7DMV^7;F#KP1F8Q[[]R) Z:$AI*X0#=23>"J:+H9
M6BOWW<C4L_GNS"#V'7>&(RR]=I+57U9JT6U.#\V*D&<LS:5(<>('&29AJEUR
M0:X+A'@ACP.92%#HZ2&)B;58$T0[BE8KY1&Y&#K+SD(+4U(@4+BGZR065\ZK
M0P+S^J-. CQP,9U^TC*/8^N/ZGNL>M[+#R\'+JLVU*-I@[OCI;JN?\CR3IGC
MZ[:SWN=UF<NBUF5"?Y/%_8]:BLMG6=)[V?3,_4AKN>W9M\ACGTC.<QQ$,5.'
M2E_'F:<!%E&>*&T/TB  *?O[@#6Q@=G01[1E -UK#I#0Z?>Y;IWYW+;.Y+H6
MY'*I']3E1UL ZF\_%2OTZ^U']"A+5&EI )/<WH>03;-HW@6S\UQ"['>3Z=U$
MZ()(QRXK-,Z+36?K'E348-6MK%>H0WN!>G@OT/8;[""W#;&1!MWKF^TP>>A=
MO49764KO ]2\Z5#O _.)=?:=<6>WMM_H"&;%]4HT3-RL%5.R+EI?<5?1NSH6
MS1'Y:1+'),<\#B-,_##!-*$<1S2.LB"11'H4LAK;,C+Q^OE]RT-3HAZ8"V8M
M7;/U:@Z9P5:8GK@V]">ZVCX7NR.S;,W&K(;T7&&]-GUGSV?9!F!C]/KM!;8Z
M$],PC>*48%\F I,@Y9A1GN$H2;PX"2BCC$$LTB"UB<W.;EN$?I%4D[9I 3 H
M+C,3XTP(,#O2P]\C/)$I,<+HJDO (*UYNP68P#[H&F TR,55V,?U RU6BS@B
MGN?+'(=<[2Y(D F<!8SC0$H6$9^(*#KC,JPE,O=U6$OUK NQ3CHV5V)PS&=>
MBHW!/?-:;!_/)!=C'8DWO!K;!SE\.?;J6>N6.T4MOQ;/4GQ9U>K]%FPIVYOO
MG\MU52U8X'$:,HJ3+-0YW%F.,Z6LF.892420!(QZX.X[@R0AGZQ5(YZ&"KJB
M9=G<)@V[)>RD9KCJ.I0$<.%M*..&--K11BWQ"]20=]J8QPBHNQX]P^3F;M=C
M!/Y(YQZS<;9EF]12_F.]5".JUE6QC7#*PM3C<<QQRM7)GP3$QS22 @O)2,8Y
MX2DQR@H;)S7QDMPG_.__E@9^\I](-@P JRP,",O0Y^Q$!# E;^D<ECJXH65[
M-^<^9&P<IK-J3B<)S5S*:0SP81VGT1'P2)>_5?7J_F/]66_:K_-/_Z,F_:,4
MRDZL:J&.[^K7RH9</9?B[V47"VP8_ *>>&*-_INN]JX6[5>W"KJL1W=GT?A>
MJ_;RH;OGTH/4C\4*7:W5CD']^'=)#=-%[:0[;!0F%RS,3CB4J<,&Z&<)R2H@
M!TYMMA@=:T'TPW;L)[$MW7 IA/KNJNZ/K\5*^@N6YT&:ZS*0C/NZ(&2$61SE
M. D33Z9"2LJ-4\Y/4IG8"G5%#CJ*%^BV+J6LT3?Z8'B0&!;1L/5P!ARXFWB%
MN?L!:;+H>N7@8M<(V!F5'H[-.G.]AP%@AU4?AAYVIY'!PN<>Y7X0XS0)U!&?
MY#EFW$MPF"22!EZ4\M H-6R0RMP:J=8M![H8G*&+(,@.=?'NC_6TNAA,HHO!
MV^MB -'%P%(7M^DEG+?M*61[NW:DU%BWF:09C8.0!C@@N<2$1[XNHYCCF!-=
M=Y4P*D%W\,:4)];9'A]==-%^];ZO0SZH,V5J=FJ?1%(P5;^\OOIR\@3O;+-M
M#=A5-I@QW7D3Q:#B.,@A T]@9TRN'YNVMJO[_3[?O8[/5 0B].(4QR*.,?$]
MAM/,IY@&>1Y'- U)!@JK':4XL?'XNE[=8S7N :TWG*"E9@4M.UX*:$>X<2&:
M60VGHH%9BRUIU-">O/>U,51'=F*<WJSVP1C^:[M@/M VB2976Q31Q>CHD+;+
M!]TD\U]-\.)U?E,6Z[)KU*2+4;0WBXM ^EX@B(<C(K@ZFXL$4TE2[$N69B$7
M).2@V!H[-J;>=O18T#ZN1\T$JEHN$->E.1H/5ZW[@#4%BA!]6#\-J(W+5V!F
M8J87+,SN=/R@CJ$FB%(=2UY)NN%JTQ\,:;[03RUGI],-+%*$SA&-LS0B*R9F
M3C4Z1U"'Z4AGS699&/E(#@BD0O+L>3H][SJMM$KL<B2 =9/!V2^.0 -/+TTE
MY8D200P0V5=6?JND" -0![66G:4+[/P=W^5]H6\E5[5V:B\"*EC(,Q\'<99C
M(A,=$< ][,?29R+./)\"783[!.;Q#NYH6KGJ7\G$U#-HC]3**6@*TL(5>!S)
M&5[ 5Q/.[  \#N?0]W?B.=M62[S4>_Z/LOWSRZIQ#.QV_FV$SR)(**=Y$"J-
M\R-,0J8;*D89C@33D>Y1RD0*:PAO2-GH SVGJ7OKZEMMR5KU_C85H]EVVJ5H
M[*N^:>?%3QL6_J*OUEM1[=CHXO-<=F(" 7?6C<F,ZLP=F4"B..S*!!L.W_#>
MUO^\*?EU>5>57;-JM;'^1=8_U@)<C-IDKHG7Y"8.JBO=HDZ%=[??T8X5U/)B
MOB<V$L[X!MFU7&!6P$0D$U2IAH"VVE ;$9AM=PV!V]]J@\:Y<MM]D_6-5$=G
M4?#N7_7A><%BSC@C%">IU/MQ*3!+=)8N87E.4I'S,%K4:UT&TM*?=)PPR"9L
MR1LK@&[0]=A118]M]J%:!_4UR;G.MQ."M'6WG2\>%PXV+:\-&]M?S>97&Y;!
M9)ZT$V3?V'<V+(QQ;]G(>#M[HK1O75ZN1%=V^M.?6J?D(O72-,]3W8XY"S A
M+, T]=1/@:14\C@+9+PY6]R9>_N/4[,X3]Q9["9DV[=/.^ZI>"A6S8FMUF$$
M\N%QN6ZKFS3.?9@E.2%",[MQAD3L6L=H>HT,.HJH(^G.# Q#<J3T)XC,JN+#
M0%\K],C3EBDZ_(<43TMYG>\7^^JE=P<QDQX3!'L!]S!)$H$SDD68A2((\H 1
MF1BYQ,U)3GTLZ!C0SO'='?^KNG) '3:0HYD^NY4.\'#P6C!WQP2CC@=-D- D
M&?3F\%UE^8P3G#?;QU@ !UD_YB/?6_6^YG:A^K)JMR<+F2:I[P6ALC.1Q,3/
M,TPS1G%(:1Z'7)(H!G7%F8OQB>W6)C=&5])K*NA5[Z:$WJL7:&CJWN%K 1K,
MV<K@M8BTP[;%]+^AQMWQM_#NJ]B]8OO_2)VZXR]CODIT)^C#5J*JK!=W1:W7
MN"\K43P7XHDN?ROJ'\V>6)/Y43S>K=L[M:ZP2<I9R/V,8Y_%!)-0_2=3BP@6
M+(RS3,0RCXQZB5C0GG@]:+AICF(WZRZ*#%80QD:<PZ9]8B'!K+.-?(S-YQE(
MARR@FK9G_=3?=I;/AN(LQNL,46SLSSE3O+?-[.=-R>/M=BCT$C],?(8EB]0)
M6BKKPPB)U7XV3D4<>B3VF(4S;$8(\WC8K@9*1[^S#>_A2W[K/:_=.WOGV]XM
MJ/]=.]^3[^+=;WX/.?\_LO\]^4IF+\9\A 6[)>Q3<^L@91?R?)SQ;^O5<U-'
MHRVP<:=O3/N_UU= W];UWV7]7?+U_:KXEQ0+DI*0)I[ 8:J3-$@D,(MICJ,T
MH'%"@C1/0)E<DW$Z=5#GGX^2:^NC;W70>K,*(;GY]WJ--,^P56FZ]V:V!KV+
MMV&_XAQI>MQDGK7L;A:8YHI:,8A>9(UV+#89(T.)-N!59')I.EHSIN-SUA5B
M<G&_7@^F)^BBB=5W*>1#L\RT2\O='^LN#3WT_220C.+,2V-,J-1-K6*"A1=Z
M41JQ)&1&<?5 NA-;YE>74A=HQ\A%MU$<K%)QEDC-S.P$@H(934,939#C#X0^
M26.MTU3?L-O6J"B&6W"-#X<GXWSLFFC_?T^TK'7[P^_R<5W6BS!B89ZG(4[S
M-,&$TQ SYL<XYSS.XIQZ@J6F^3@G:$QM(SJJ:$L6M73-LW)."6?8 CB"#-1V
M,%I0>LX('JL,G5-SSI:D,P*JGZ<S]N@Y?<^/E,)?R"AG)!9-19X DX2K!=RG
M$29"9#[SLRP-0.&W)RE-'&_;;(6L\F].R\9L_76"&*:#F]K61YM.N.Z:/H#,
M:0/U8W3>H)?Z -SC;=6'!L!38]K6O^)&RO+G<OWT^'D%SH@9F&+BE;"CC#1I
MU-#6KM5UO5I#DL*'1#"LD@[1PQ1R"/@$:2X&&*VR6X;FG2VIQ0!</Y?%Y'&[
M1?/;D][R7N?;"C>W\KYQN"Z2/$Q)2@/L9Q'!) T%3K,\T8V;PC#PPB 1H.(R
M)RE-K*\M71V&N:L\576D88OH:5F9+:).) #3V1WX7:FIVS'PX#5T%)BC-?0T
MG5G7T%&XK]?0\0$6]53$/^[6-W*M/6,6Z^>)X1/KHJ+Z5-7-R>INC6X^7>]=
M>=JLHZ?$,+Z&.I  <$-K"'Z"M70$JUW9E1-SSE=V91C47MF5D4==I7]^62FE
MD%6;J^AE(9=!&F(:Q_JLR0BF6<)QG%$A* V\)/+.J\[6)S>QYFY(-;=WYR9W
M[HG)U 'L"CS4[WLLD7,KC:LA:3C(V3P&<K),S3UB;YR?>0SX>%;FT5'O+:9M
M/WIWM)7T(L^#R O3&,<\SC")6()3F68XC>/0HVE&* O?8P:'<9/LB4S6ML$]
M[1K<=P$'][W4CU]O/^H,]O97[R8@#OJ%F)G0=\/O_X5@NM<Y)!=H^[EUN*<J
MH_=N7^>[C\>#XOH_$JUG^3K?*IW%G$'XH?FN%(KA+RO1Q,>;GI7W1TV\:C4T
MS,^_KQ"-'WOMP<!,\5U)A?8V[466[?(1T#!.T.GV."2K0^VKJ68[RQZ'T#_"
MGG@"K@-;)W)SF]BH;-O>\'N]NGRH395B9)J)M61W!X':2]$> ^B[K)_*U5AP
M(E@PX[KE4"8P97,@#I#&&0*U4L&QN6?324.0?24U'6)Y)&VC)C>QB#*//.U9
M\A(OQ"3P(TP3+C'E491D448(,+&_/_O$ZGM+E[*II]V5\8<6"-D3A.'IQQ8>
M\ 325<MW'P=X%("K/??>W//N>X_!.MA['GWHW"H] QV[FZHLN]N$F F9$^GA
MF"<$DRQ1NI8F'@Y"*3Q&A8A#R[(]QCQ,K9&]<C7#W>9M:_F82]M0H:>5(5#M
MC<4W4\4?L$R<EP RY^"-:@*!172Z2!!\*ICMRM79N4?NNWR6JR=9?7CYA?YC
M7=Z4:_'$ZZ_%2K[2))%Y?L9#CFGN19CXW,>,A3%.(I++B/ D%8F)W;*D/Z/-
M:G<4[ 4U'*&.I:;#IIG!LA7QL+&:07#VAFK#S7&Q00R5FX^UBPIN_$IO*=$]
M1LP='I0]+6F)Q#9"$E5/#P^T+/[5A!QM/M"'1M*/G:35W/*OYR\ 9TJE-?YZ
MDL:B>UGH-5;==MI9+/J9F#?6_-QIX!Z8[[)2WU;C$M..S<L_B\K4ZW)DZ,1&
MMD<1?92ZNF.Q:N]4- /_8>Y>.89ZW*5R)F"8<1S&BG[7U!U%Y S@LO*:')MO
M-D_) )B^=V3H,;@6?=.)6^MO<I-(:*A!KX9-K#V*&M:17M\^79MKRFMDXUIR
M!BB8AO3P.'1Q#$"P4H;7<\VF""= ])7@U".6X=N*I_6J5ORIA^XWX2^;YB:?
M%7.W3ZPJ1$'+E^X>KJJ>=&F@A4PB/TR"!&L/!B:9)S"3B<!QQ"3S A*FJ0#%
M=UNS,GGHFDXG;XRZVO2N]MA$1<<G,!+<7NQFSHUYA G6_;[D-DSI6[VN&Y)6
M!K1C;!M+T;'F,.#\;/&XBDBW9V3>D/6S!780TW[^C):]TT\T9O^\+F5QO[IJ
MVC?QESO=#ICR)D9A)9J_M=7O=F'8WV1]G=_1/V]TXU/UB[HN"_94-]O\]7%\
MBS!A0224K8QC+\:$BPQGD3*B@2?"2 1,4 'R!+\IFHD-;X<!\0Y$VZ*YY1O1
M+>/ KN]O^OK-K/?_FI<*6P#:.+@]7*@%AG[ZNJZJOS0UYII7OH&(>AB;0H0]
ME&@'LVV-HU9G!?4"=6!1'ZVN#G5B 7*WK+R+]^9H97I;++,N;N_BM;U>']\'
M4Q;7#%?K\G%=JO/Y+W1%V\"MIM'=0>C?(J->%,?<PSGA1'<C"G'FDPB3/ \8
M#:,P\5) *588=2,S=WX5U0T[Z&'+#ZHT0Y@UT<.\QQ+ /6XN9(/[!;<RL\L-
MW\IIQP.Z[<GI:FHY 6X/)I&7W:6!&[G!K@G \ =O!\QGF^]2 (QP[RX /OJ,
MUM+-)Z/+VSVL5TV\6'5@W]MB>.TO=1GOKO2I_OU''4TK5Z):B,#3!:8(#@-?
M8))D F=4Q-B789((XJ4>I9!SB4OFIKX&;MJP]@TQ>E0/5/:EKIV^&;,CPUO)
M&V;F>URBELTVTK0ZV*M_+)9/33N_3WDN>;.WWY45[<;\H?A'/0!HB\!QQVS'
M<G795ML5:_/WWG8LU*,-NEW3L(FZ^4/MJ[^NZ:J[C D8\TDB4JS[]:FM;AIC
M)B**!0T#ZLE0)@D@I&9_\JD-I::&-#E((,<K_ ;[T3-0P<S1#M#X9=0X,DC\
MB3U"NWVBP:L#QHH<1S <"/)JS(Q1'L>YW0_A./',&5EBW^@#/$E,#YKZ5IF:
M-M@^A#-^F6R-!*:\8PEB@R#M\L/Z@,Y+#VMFFC\[K _@:'+8W@,3%3ZH3B5Z
M-O^Y4U0O5Z+ID:V8Z3I=993FC*<"4S_@F/AI@K/,HSCCB0AH('D8PP+H)V!R
M8J5M""--&=A9;-(78W8Z>6MQPRP+1-+NT^[/$,5<&?0V++ZO9/@SA S.:S^'
MEIT)_J58K<LF9[Z[=O1Y%A(9<9P%),<D"#S, I%@/V%Q+F3&/ ZJQ?B:P/11
M<.?'W!P(Q<QTG0,59G;:*(>+^:\M3T%T9$X.II_5%)P"]UJ-3SX'W_]_^I_Z
MY?*/4E27XA\5++KTR-")=:N+L6I[I?2NU WS]$[A'3\FG G51K>.H'0<A3H
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
M&U@[EI'0Q4U_^J:[:B7 6#M#(4J69D',/4PS'JA]LQ)GFD0,TSS,XU0R/_-
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
M8S+4(E%^N?STISJ]ZRKG5[26]TWT,#!9?F".J0_2RR7:TD8[XH#T^"$!C#O
M7&$''JI/P':=%&\ SBXQ?FCB^9+C#>#M)<B;/']F1H:.G:Q^2/'S>BW:$M]=
MK]-J$04L3;B(L0A)A(D?Q5C]W<<>(TD:D2", Z,01P#-B;5W0QC=:\J6R0H#
M$C-;A1W+ :;)O=2&K30:^MOJ_1L>)DA[& ?L.AMB@.+;)$F,B^!D[H3!4#MC
M<+5^>%BOFA- VY"2)X*+P*<XXT&BZ[9&./5IC%D2$T8XHV$(JAO_FL#$:MZ2
M0Y6F=X$>:=EUFOM_O+]Z_@6B3_4/94G_I;[\P+OPO.;_J&H* ?UG]R<JJDKO
M4VF-;M7K;4SNO_^;'WO_&7H72']OS27T1\G[O_*;7Y$+Y/L7OA]=)$FVG7#]
M5%>U&J,ODFQG]2X"DERD7MP\IOX:)>$%"8,+I"@\2JX7BN4+S*X=O'PS(W;.
M*X59K.YMWK9OLTO)_]*\'G<FZA0<1_;H8/I9C<\I<*\MS<GG[,R*ME-_%,OE
M]_52A[_\04NQB#/&?9FD.$C5QH*0P,.IE GV$S\+(RH%-TN;&* QL7'94(1I
MV3%9F"G:F0AANK8AAG[7Y%!'S^'1? "-(U4[1F%6;1N ^%KAAAZUK<I>U>43
MKY]*M<XTA=_;VB%!X@6,- 5::*:3KBFF7*AE/?)('"G=X[Y18L8(G8EU;X]J
M=RMD66_]N)C,5-(!>)A:VN"VJ*0^B,I9]?3C5&:NF#X(];!*^O#C]KONHBTT
MJ-O ]&-!CX4F)H+D4>@IE25!BDG@,YQR(C%)!>,QB;6['+HG-R<_PXZ]8Z;9
MVF[9J='7@K)BV<3ZP#>V /F:;WNGD1I\4WQ48)J3Z4-%[<3@<#,-(#[[5ALN
MF&,;<8M9X#G-=T6]E-?Y%W4L?2[$$UTVZ?PBB9(\\ 7V>:PVZ2E),=5M6R*U
M7_>]+& I-=HLG*0PL35I:#9J<;.NBK;Q"* "PFG!#-L()W!A9@".%)0./8CF
MC+3HX_/.EAX]"*N?)CW\H-VRWR1BML4)OBE6VR"Y2Z9V&)37"Y]+W_>3!&L%
MU!5+?$Q%G.+$(X$(N8PR 6K&-DAM8C5L$W-I0_P_8&OWL)#,EFIGT&$JV:)N
MZ5Z@'66EF!UMA^NP$49'R^XPK5E762/8KQ=5LT$6-1 ^TF+Y<EL\/"[E[?7G
M[]U5;L"HX'Z08,%(DWBE?>B)ASF-_3P/,L_G1KW/3I.8.G9%TT0M4:2I JH'
M'!?)L-ZZ 0I3U@.,-C6@CX,%5$PX&[1=X03S%PRKG# (9[" PO&1\]51&.1\
MKYS"\),61N3RJ5X_M UD5N(7JO2UH,OJO]363HVX[[XI3_(TCQ-=64675^&,
M8QK& <[B+,DC0<,<4%[%A.+4T32__!= SXQ$9&!C7 .'F9P==:3(HRU]M&'
MQ@09B09@D5R+R,Y C8K*D<&"H!VT7T83S6?.(+CVK!MHH-TQZ#>IXXNEN'R6
M);V7WY[TG-?YQV+YI/ZU[<ISO;LR7\298)XO*8Y3$F-"28YIYBLC2+.(A&E(
MN>20@Q&0_M1[K98L^J/C"M&6K6/! S\5J^Z?@0D%4)$S$B9^(@,<^EF*2:)+
M!\1IBF4:"Y'Y:4YH "E,.Z7(X;5K/\K5^J%8:;O0E-<0W2N0M%PIZA5Z5,<X
MWD62-&W),*)-;Z#W]I[,CL,32A^V &X801TGJ&5%AYYUK=!Z;%R@CD%W9V9+
M03@Z14.ISWJNMA3-ZY.V[33P:')UD/]94>RJ,7V4%2^+1[UN[>YU#&/*QV>:
M> E0#."?+R]OM@6[>CR81Y<;"&387+B7!<PZ#(G!\646#*I5W+G!]+-%GYM#
M[<>@ T;9;00_/%7%2E;5)?^?IZ*]PVCN6GB8)811BB5+(DP$)9A1%N',%S3C
M+(REGT(V?"?H3*S5&ZKH:OW ]&X#>ADU)B:SQ=\!>)@:V^ &K^0CJ!RMV*>H
MS+HRCT!]O0*//6X=L?)8RA^Z4>:S;-L?-V'H=_1/];?EDU[,;]9E0ZUN4\5U
MBOC=6OO;=?+X>JG/CU]62I%D52]"3N*("H9S'NHP<Q)AIEWDF<@SFE/)4YE#
M#AB.^9OX '*GA^@3QHYG5#1,@^-<G+X5,XORAK*&6:(]1C<]U'_2Y??^LDUY
M44Q?H"W;J.,;]1E']1KMLXXVO#L-JYE"J.[B;IQR-W=@SA2B/1*Y,PD9F,$6
MLEA\6M5%_7+[0)?+S6JPR"C+>,Y"G&2ICPF3'&<IYYAG$8M)GD4!-VIZ>V+^
MB?=2+474D$0;FF:V\I1 AFV= Y@P6P5#:&Q>1G ,G&S4R-8RJ!]V!N'4?+,H
M] B8C4*./6;=GE!IM%+F71@>,"IE8(;IOJMNU5-4]T)#)PA(,8#GKM_>24IS
M=]L;@WRDU][H$,LR*_R'%$\Z:$TM*,^RVOC;+G5NH%*&IF;3SA<4!H)$:D7
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
M@RR*(R^0/.&@PK1@#J:.9SAUG_;_5_=MO7'KR+KO^U<0.(.#S(9YH LE43C
M!APG63M $@=)9@T&Z\&@>'%ZIMV=D=I>\?[UAZ2DOK>:Q:;DG(>5%3LBJ^J3
M6"2+Q:^@I:[@T 8]C_0#;,P#2?2'44KOXJQ6 1.EO!&9]EAR2_ZO>"YY"(_G
MP>21CCQY76T*[:W2J_M%HV1]JWY;+L5M_5763S,N+2U:1I)21AG'<<$R3+(R
MQV7.<BRRHA L4T*ZT=X 9([L@+K$8<._W.E@_FZTT."A3@\O8CD7/-U\4&"4
M@)N]$ #!"6#=30Y%!>L@<5I26'<(#NAA 4T#T$K>Z.73O6SN9%)QRB*]$2P3
M0XH5Q;C*"H(9S1@I1,DD!_$_'Q,R]JF?;K)<+&2;6;FTI_#RYZPE?FX0:YJE
M";[KS8=E+KC^^-_H[4\HV<I1\-Q<P:60P,;^+N%D)VXDLLD]8\;@FNQ%O!S5
MY)Z1@TR3^\]Z!G[DO=G0?)$_S$'1XO[]0J\6'NP6Z,/Z4H_@I(IX07$A3!YD
M60A<E83B6&1<LEC_P3/0#0L'H2,/Y$X%M-8!;2D!C-FX0.@8BPD,###&,H3)
M2+=S(1:'"H>XB)PVS $ X2!\ 6GKPW]9S\2]_$W_^4;R?WVNET([H*Y2G(JC
M5%$]@R>I]@8D+SFN9$FPJ PQ0!HE/&+N+)>G!8WL"UK)R(A&1C;JA$,X%0=0
M&A[Z(6V'#?=39ON4%1RR'\(<&08'3WY(Z&< I'X\;]LPP>- ^PEI',];L4O6
MZ/!\@'R4-8E0SO4N0[$$5U$B]5*%2,PJ%F-%"*N2K*A8 6*N/RIE[,P+_?'6
MYE.R,;N*-3-NMQNBY8A!LB_'\*,MSV5KS9@0-9"PZ3B";BN5BW&!^2K7K(Q1
M*)0&;1TC4>-EZ(X&S1Q,W A$3=0=KC3OEK5>SN@OX3MKY*WJZM>84C9W95ER
M6? 8,VEJAV=5CJM"ICBB6<Z(4FD:J_Y&EML /R_4Z:O>O7X%C#'NUI-B_-^/
MLV9FYB[@(8<#@&ZC.Q H?AF\G6SK_#;2352QE=\6EPJ8=.ML;*BDV?,"ITUZ
M=0;@(&G5O:5O3M>U6/[PR^C:;CGV,64GRBN;:\?"X?%YN7' X/Z13"XW6SWR
MN(Z9=$$6UTYW$^=P'3/E,(/KZ%-^4Z=)3OBBN^FV7#)2N<@CB4M""2:<2US%
M,L=)4JJTRD2>5J"\X]WNQ]Z.VVL9S@/I! 1N$YV_8<"]=F_3^<TU>/XZ;D.@
MN6JO\TGGI>.&[<]!)YZ"SS<F_>>:KQ[9?/YLZ+%^;]:+W U3CN,,Y-+7R,-H
M-TNNT\42K*&GYO^@S8[*?;YR0NC\#!8:'-A0=,8%_1&42 AJN=?4YR1@LLD0
M8N[V] AJYS=A'J,@MQ>J#$EB$I>"YD3@E*0<DZI(<25SBF,51RR299YEH"#2
MD+#1O4#'I,^,O*:]EXI>?5KJJ2@%%B0>Q"RNHCQ)\\A<$(XQH4QBJGB!XY06
MC%<J98+=M2G17U>L7DV+W+Y@P,0]M]ESS+*BO)'<SC(HC:^0'G@D((!I%A=E
M(A7.>*P!+%F*R](6^RMI$2541(7J 'R[< QNA(6O%^L)WE?M+3KT(HM>%A ]
MM^5>*#R@,\[Q:A:[MXU/)6J&6RBZ6!]HV3@H:M)%I(O1^TM*IS:P>4?(V=W;
MQ6JVZHGNU@>VVBFM'IN[R,PXD1 XCZC)Y$YC7*95B54L%<TB[0FX$Z'+.4$C
MSS>MZ#4CXR:5H)7N-N+/@C4\VD-" !OIOM8[#V57TP86C[J+=@3KOVP&[MF.
M)QFTKN;U ];Y>8_$A]_FRXK-W]4S;G8*']F"M0&P+KX01TF1D"S%1<1+3!)1
MX5(6>N2FJI1I(522.C%'.L@:><BVPE$O'6W$ Q( SJ U/& #8P ;LZ?-]TF$
M.(,#(!<B'!Y^Z1 >GP4L(<+-P,&<B#-=3)<6X6;+3F:$8Q-X_?"/[)_+NE^V
M-/8> 8_*(I,JPHPDELB28%94!5:)66@PE:G,Z5[&\>['WL)VLD"W+$X ,>R'
M+C</N#%PM Q4#?RT 1?4 3_2Z605P$\;M%W[>^ IS]H&S<U\V<AORX^+'S-#
M;&^IJ5T#P*=[&/LHT@I&5K(II?AM]F#S8SY^^OQ^N_Z!>]1W (SSL=XP.,"&
ME2L$'5]\R.H/@Y;ZEX XWNVT=2 &33LH!C'\M&?,MAO=EA_:9,=\G_UHNH55
M)JF@/,TPX4QA$D41KLQ5(YJH*A5Y6:D85*%L0-94TUV]+1H8*AM RC%2%L9^
MS_EP1^H(1Z8.UH4*A U(FC8.=M[D@S"80Q._D7S[PY9F-[<5UBQ@E&<D27*"
MX\K<'99IC&F4""S+7-%2\E*J!,(H=T0&:.3">>76$CO>--B8/8:)VUB]T%+8
M&-T8N9./&VYL#E@3:$P>DS#I6!PP<7\,#CWJ>S5WQ68+*=YV6>0[Y)%JQF>K
M.T[2C*:JP%ENLFP58[CD58*+LB!)H>%D@L(NZIX3.?*<VBNP3IV'7L@]"YG;
M2 T+!&S@KC'HA:-7NPRW5G[ @>QN;+#+O&<%3GRUUQ6 PXN^SBW]G,!ONGOC
M2VX77YDIP[3#/KNFGKW+DTQ(E:6XK$2"25R6N,H4PQ%159RD)&>1]"B XB;=
M:2A<7/;DE5'FK\A<H6%M83%S?U*O0?^YG"U6R%2GTGM%I!BWU>EACL,1YB2.
M$V$84Q*>:YB)9)C%%<>RD%D:4R45['YU0'PO.%;02KPLK&X^.3Q8P/,'@U-W
MJ<ED5<^:'\OV]H=!K=>FI3/?,)F'<],P^P.Y:D>AD[IK&!#[+AO8VI.M8:6]
MG.GG5G55EMG\<_>U "_PN70UWD>_EFZ^\;5\U"LPRC4^B,6AJ 9<1$Y+-0
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
M4N\%TS3#)149UN[-9#JK@DL:HK+S!0"&*NW\O_]7G$?_-UQ]YPV(;CXO&"S
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
M/EK8>+CC-N)L1R-O*3KYJ%]Y]UIT2>9++L6C"1)T&KGO.,XC='[W$10<J&L
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
M3E[=I$YSS+I60\_]G1[H8:V(#4%#)LSS6#JL#L) XQF3[>%8RT8;X>@F.!R
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
MT% [Z'[2@7;*N/UA=O(YOT'V13[)Q:/\HA??LT4[9^I%X(-9-=Y6\XX6S\3
MN*GO/GO0C]RJK_JWC6IOP6^\/^&92F(F,"\R4XE,I9CQ*-5;Y[PD,JDB6A:0
MX1E.M9$'=J>HN>/6J8JV=$4;9:]0KRYJ]35+\&V-8>X@X+MS<R0O\T9@+BC<
MRQAIR1 >Q$#^+Z!BDWK.\(#N^]P1),"\=5.O[FZ6BV8YGPDKS'9FEP""%A%-
MJQ@SJO3V(Z$5IDFI_:\L,R$H*1/AM/TX+6)D[[DCM!UMH,71 #;#7BV,Q3#O
MY&&LLX,Y;\^0H]"MMYR$_FGC( 8ZGF2@GS>L'[ .3UZ:RKQS04K_(.LG^?KY
MF^ZVS63<G&3%DA<R*@2.RUQO5WBLQVC)*LQYE7(2J81$J5\^L[,.8T<.MI)T
M=^\I=DKY)C2[@^P8<A@7.F!,XAQJICZ]T:C/?9XHS1D,3?!<9W<-7BCA&0S1
MZ:QG>%?PA(,O6E(<55EL.%[%\H=>G;R;LWO7;(,3S<?>39FA8<3B>.=PO=/
M/<G@E/7#+B.0X<!-R[#-Z \C/E!*P1GCO/()3O4Y63+!&:.V,PG./>K)7L2:
M[]<+8?[W]M^/LR<V-S?7KE<WK*Z?]0BWIQ!WE#,I!6,X8J3"A.42Z_\*G%85
MCQ1+.*<4Q&3D(G7L];L6;D_3N?F+W*@!9#ER M!MN@\."W"1WR-B_[+1(""G
M$<3 4/Q&3C*GY3J"P'# >P1J[,MIMJXFWR<4L2@6">$X9;'>%.2&GX73%&N/
MQ*(B3W-.0:>%!Q)&WZW;- (K$$ICMH^%XV"^Q$+H[GQCW"A,9"<L"<9 MM__
MQ,QC)\P[9!P[]:#GYMPDL;PV5X(,AZ]<-"TA[V8=]?IY\\AG]FSK^YC*/F;<
MKY[?+\Q*W-XTMT3 W[ZSQ>T/TT7SNUZD2_%^T682W/%$IBKG,>:EN2,H]+:>
M*E'B/*)%&E5Q$LOJ;B'OF6[DN*>?2'6G,5.V8V;; />3/RON@MN$4[U#QX#!
MK_1>_*(,1CUL]4/;-NSL+ZIGM/U<9TA;S.P*M;:@+6.ZVF8K;0[J[+E"W:O7
M;[ZU*6!L8N*W$"J@,97:TT9!)GX9!Z&3J>7#:2_?+E96$N\H-4U%.9,5<V/H
MF^OGFZ60=YQS5?(XQ;PB.28TIX8%4V$N,Q97LA!IY)3$XBAOY.5@JP':4>$*
M6260X1EO%4%&$W>F3!<8A]WX".# O&\(7$#DF@!KO;@V7?J?C'H38.PV$R>D
M&3S8^FFY^"27_34(QQ#K3J.1QZJ6A3^]O76,RQR:=#YNZFT-;'#UA@0F@3JJ
MO5<X=+>GR8*@1PW8#GT>?\ _X+D7.[%'&C.3 ]'%5G9_L?5D.]/JD6A82.0;
MV?Y?_SQ_%/;.94N5:W+<WBHE^>I.QADMA-2396YJH\HLQ[3B$D=Q)JLJ2F,1
MB;N5J<#E'CF=3GW0R%X;X3X@Y$HOOULMS#J<APO)3OB*W6.[O^:+@P>)K_8C
MQ%=HHSIJGS"O<>^7.PU:DU!O$WK56_77*[0V;$/G;1-S6]MLUV]FC?8LJ]G"
MW'?I+CT/Y"%Z1:JG?UT!0]X3*C]Y['SZ%W,L"/\"6OA->7^7AKQ#BNLG/4SN
MY:=',XV^F<T?]>]: J+;QU6S8I;88\-?><>36,6<<2R30F$B3&)TGI8X%I17
M-*%)I"1D[O+48^1)R"I@"OC]6*ZT-'-9?I=VS#LVZ(N[VX0R 9JPF:%7"'4:
MH58EFY[<(KFET!7J5+W:8DP-Y[XO!">0'_;58E*'>B%4^Y[QTNY.N;CM;^.#
M_MM__4?_&_U'I?WG?_W'_P-02P,$%     @ %'UC6[OJS<9+BP  $VT& !4
M  !F<W1R+3(P,C4P.3,P7W!R92YX;6SDO5FW6SF2'OKN7Y&W[NN-3LQ#+[>]
ME)(R2\M*2994+ON^<&$(2.RB2)GD4:;ZUSM \LR#.&"?C5.VNY0:-V+X$(@
M8OC/__7/+[.?ON%R-5W,_^TO_%_87W[">5KDZ?S3O_WE;Q]_!?>7__I?_M-_
M^L__#\#__.7]ZY]>+-+9%YRO?WJ^Q+#&_-,?T_7GG]:?\:>_+Y;_F'X+/[V;
MA759++\ _)?-/WN^^/I].?WT>?V38$*?_[7S/UW^J\TZ).<#.!D$*(L)HK0&
MN'39)8/"HO[_/OVKX2Y*(06(I#BHX@TXES0H88)C7 <T:?/1V73^CW^M/\2P
MPI^(O?EJ\\M_^\OG]?KKO_[\\Q]__/$O?\;E[%\6RT\_"\;DS^=_^R^[O_[G
MK;__A]S\;>Z]_WGSIQ=_=36]ZR_29_G/__/WUQ_29_P28#I?K<,\U056TW]=
M;7[S]2*%]4;J/Z3KIWO_1OT5G/\UJ+\%7(#D__+G*O_EO_RGGW[:BF.YF.%[
M+#_5__[M_:MK2\YB6:S6N/R7M/CR<_T+/S]?$""(U,T_77__BO_VE]7TR]<9
MGO_>YR66?_M+6:V74'7*O&1UP?]W^P]_OESWZQ)7!)8-GZ_I-W;_OJYR. WX
MYQKG&;=\G:\P6Z1K?VE6I;JX^)>S$'&V^=U)QNED\]5GD0@/:3WQ'M%'@HV4
MK(!*V8*SA+#(BV%!NL@5O\YR)7E%-&^4L,+T+Y\6WWZF#_]<Q5!_LI''1A:W
MEMO*Y3BZSW?=1_J[D^10QRPLZ"(4J!P<1%\,L)(89BTY2^DDLJ^N=IWJJ_I\
MMDP_+989EV0VSI<+RW1+M]<!N_L;/W\-2_H0I,_363[_UV6Y^-)"5^M% \EM
MU4+D_N4GXKK@<HGY]58K]S*WX8Q@O,+-WVRA\?]^%I;TQ=GW]_AUL5Q/DK%,
M:S*4$AV"\J( <<^ >TPV$0^2F2;*O['P7C@0_>/@%'EV HEWN)PN\LMY?D$'
M\(0[P4K1&AAW="Y&7< )KX#';*32')6U30!Q;=F]X"#[A\/QLNP$#!^78;Z:
M5L'O &U],MFJ L+R#"J0H8NI("1&?A9#691G;4Z'&ROO!0G5/R1.DNC(J'@Y
M7T_7WW^=SO#-V9>(RXE,S'K.! 133SQ/ALX%I2$H<J.9+MK$>!(:;JZX%PIT
MOR@X28)=:/\]?II6(<S7;\(7G'AM2C+DY"1GB/[$';C,+-#_"H5.=.#ET@ !
MUU?="P6F=Q2<(,DND/"* ODEF;"-X#^0_/'YXFR^7GY_OL@XT4*PR$H M,F
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
M!A2ACM<SP!27+)<H>&SN1@S:U>1R.[Q94 !!TM^.%'R6UM-OMY]!A8UH4HE
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
M^SE^'GXCL+6?DK&\]HSWH!SJ^D: 8(-C7,3@P\WF^OU4+'8U^N0DKZ>UICI
MWS'I4%)Y6TITD&4=26FT@R@U19P4LR :S"6VGJ0W5![;N!D#!V&E01[;(8KK
MHIOQQ9W'>6;$Q1. -SYX+AS005B[6(I(1IZ$6%S@Q)@(IOE8[WN)Z>)H'0YI
M;930@:W;=IC?;9R)0*(0F02FD@(E:^TF"@7%NYR],\*IU@BZ1L"X]JF14N_L
MX7^,A ^'A]_"8XZ?*&3-30!"'UDL-Q=HL_K-G6@F7@?-=580LJ7 H[A8S28Y
ME/3;";FS.;6N.+R;DG$-S3"0:2#S4['SL5$^Y-DR?0YTU)Z'K^>\F&"9\,0+
MHI"@D <(T49(IG ;E#.8RGYID?>L,*X;WA87[40Y/BPN"KL?'C8Q<3D55*Z
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
M8NV#Y191F2_L.?/(B%S#A"C"6%!<W@\(#V+4H6^W%QL^&;.*0=" C75;<9.
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
M=H)3\OFG-@3N1@0?5YP( 7PW 7@SG.O7>(^,Y0%9P0CE4BKO2]<G:V;R/WT
M^R?8"$[)YY]Z(]A&(R]S<_A'M9:<P4:HB%)V!SF)%#G,X5<!$YD?5(98NMQS
M&S/_Z</F/\$6<#(F_]3K?X OQ3FCF#LPF6(*H*E@D4F&@T,%D$N<DA'/9_47
MC@@\YPC]3[#V3\3BHM']PD_QKV?TCVASG[ZU7DKTD.LW<)'']"/F4.BU_/67
M;QH=+J_?+2OK&=4&(^_7]:A3 GI[BZ*U)GJ%%:.]RG4/V.@.R7/LX7$]]HL?
M+^QL\_PEQM4OB^[RVW1^OGF5H(GA5"B"<"[-PG/92$N#0X$HX;CQAL72S;?Z
MR%4W'%N,)?=WPN*0-&"CO((][[O=-*.]VJ@_39>_KY^W"BIM$)@@ ]85XESF
M]G@,G"[/O);.AVA987H=DJ<16A5#OSL1%$W1*K<USBLOOPS</@<DVA$GE452
MZ8BX 4U991*B1@LAF'2"GXY6#^6I2ZMRJ.^ETY$0-$"GSW_8;]MWGRP:2Q7L
MW98EDYN7$/ !18X-\^B=E9*FXFE%UU]OA2K'(GK?Q!^GWMK5\K/8]$INZI0E
M,&G897-EX=QHFA"!5*+"8$<85_W*X=\:M.Y=4G&TC])9 YO S0&\X_A],YW#
MGTWM[#,@M'9)7MJ-EWF3'!,9)=(YC8S-AW.^3+)6)H2)%TF(R,GI/(21,M>E
MX,E-GB>%M $*WZSI]UV>B9V=7727\]4$PR[DF $E.I&K:!"%3*3YQ1OLQL1A
M"X; R4RBN[*T8F4_!2/VFDQ'P-, S=ZNXVI9/V_GOKL RQ+&AC^91&VUQ%8@
MS'U^0^(B<@P6+*%,>Y:4D[YT,'B?+*WL;!5H5@2>8C1[B@CG51V.+EW_^&RY
MC*NEG8=W4^NFL^EJFDN[K/])R*4Y_>5B 5B\L,OI,35(3RG.Z:*II]#74\1@
MHPH:S "%L.$<\02>JW6!( &F .$4,YSDSQ:#Y00LG, I8C@FQ(4T2%,X&X*A
MX+6;Q)DI?70_\QCL$):,BL$.@:2!X_K6G*Y_^;_3N "AOOYX%[_'3<=6IB@X
M9>"0Y\K3V5VC^?J+(T\YQH+:*$CIU\;])&N$:L48L9]RI>!IB72WSYV'\]O&
M&Q2)6F.#D11&Y"6;D,&4H405%8P&"U;/J;C71\!F*%B,(?M(6!RNEKCX=O[M
M<K5<:XQL@U3*1\DX-R@($D!I$2,=P!-3(3$>X*1P^&3,>RA.(SPK3X)]=#L2
MD4;)=14!Y4QH:Y)%P@>:J_HYY%0(B$JO*(^487PRV^VA.(VXQ%7(-0:11LG%
MME.)+NC F$-:>8^XEAYI(@)2RC+JJ;18E@ZV'!"G;CY\77*-0:0E<HT-4DG&
M=!2P>L"X@)W:Y@YGVD1DE+#!"!R\^?O"HY(O\020-D#AFXCZ)GXU(<Q@F8OE
M*T,4XLQJ6-J)(Y:,Y3Q1;5+I)O?W96C$AGL2!NR]X!@!1P-TVDB]([@TB<+[
MZ"-!))A<I"3[5L(SA+GV2DNL6?%^H'N%:64/JT"P,@"-9UKN 7JZNXU/<37=
MV"ZYP'V1O.W'ABQRQS!([D+W!'<>"\S#C0@WG+@."'.EP=P'HY]1"2>JC@HL
MM*21Q-%Q[CC5OG2_Q0'BE>MY]BHF6&7A19S#+S98W(J/;ZP+L'.#X5XA'P/8
MJ,98I',ME^B4M&!@"(J+O]<9(F#=T_-4K-K?R*PT9@V<HG>W@\_?8/?O%N_R
M/\M:74<JI;5$)X^"8P;, F[!"U^[X@*V+BLP=J7?%3PJ5"M-S8H3XD&;G9+H
MM$ZWK<=/$S5@$Q@$^H&UZF5 %H/"4C(DVQQ<D=)9O3W$JDNYPD080K,1J#1
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
MH/1QL2@.U/TQZZVG$5CM44CM*-U_5C_._EB$91:Q %2[QJM78;G7MG= !:V
M<V)S9,AWZL7Q#L"T"\UG8X/<F=CK/_WL'"RH3]\6J_!P"J57:+_/U7ND.1#S
MP1JL#/V_%J_GX4TN=_$A74_BE\4\"_[R^R+\:Y'OTL/\_&P>?IU_7ZY" 0*,
M_F@;2W\8OETY95?F2G:OWLZW\M^7]/Y\P-CXUZ+$>3[^JVUL&J/9<K2Z*]/E
M-YC@^:O53K[#/.#'U[0O0)/A7ZMF%):AQVCUMK.+G"T_I.TT<D]<8/#U- JS
M8_1'JSWS++Z'C%)V[33F*\$W\L[#PW-SL_&]F87UW%YV\[!\M8!?E&).(1&J
M/2PMPZ.R0%1FU:OO(2P_+#ZLOBY>@X3+C^'#_'HV[U?YS_]8?DHSGZ?U937+
M"LJ-/4I1JL3WJSUN+<.G@A#4;HH3;<Z+._HJ\_8XU0Z=0Q>9.R9:.]"[E;9,
MKO3#T>IE6QR7?MG:LY.7W><XBWX5PY9#1[\XV3UBO?O_<7@=U$OM]#(0)5SG
M8GU(:>IAW#?S,FOM\='K;8'CL.RMK]I[9HR+7Q;=Y;>WR^5E040/C5O-]AV[
MCSZNH]H[ZM=<NS]<"UH*Q4/C5K,XQ^ZNC^NH^EKLOG0K.ROQ?._^6-6JI(Q>
M<SMU41^A,[^ZM+/9CX]V&@H!M6O(:O50QN-U0#.U<ZKRE3M(N/8:"VV-^\:L
M5N9D)'"/Z*:VV7F5T'_V_;S8WKAWT'H52L9:F8^HIR'TUI+=VB%*@KAK['KE
M10I@>4!9+6REUZ(6WU#WCERO,,@Q^^ICBJJ>YW,Y7?W(K4TVJ@3WYF+=PNW5
M-($P$69;"MV!GZI7)V0DW.-46=MMO+?-_+9<'R+KYF]?NQEH^=.JE"<Y[%/U
M2HR,CMV-465S^+^/J[=SWUT4BJ'W^D"]2B/%L-ZOMN80?A!D/A72!S[4"_&F
M8D<CU%@9^1W;3Y[Y-OA5!O2^W^B%=TO1IX'*:VZ1?UA]C8L3K^_=W^@%=4N!
MJX'*J[VJK;N<V<6[Z7)5\*I[_ZB]X&PIG/6H@FH#^'!G.382LF?(7MD*+06S
M#JNF>N3_:O,O#^!C8_="LJ505D]E53\V[YEPQ^*X<\!>X+44R3BDEMJE3O/)
MG&=4"+!=X_7"JZ7(PP&EM! K+M(>Z_9 O0!J*5RP2PW53[/NZ)R[JS%ZX=&2
M,W]O\FWD"Q\-Q]#$1]J2O]U@OF,W_\7:;UO!7L6E7TS7\?Q""8^/#]\+Q)8\
MZ?XJJWXNA6F6R\XXIM]O9E?J'O.QT7LAVY)3W5MAM8^U^7+^8IY6^2U*L436
M/6/V2BYOR;U^1#G5KZ)OGA&5NW/>/68OZ%KRIQ]13JME[-_.EU-0YI>%7;<P
M7"QR FXNSW_OP="1->T/?*9(@?N^TRA0[?[!IQ[08F35V+W#'A/*O![N16Z)
M<GR=^YT#5BRI^A@6=X*7!Y11.^1\+=K1CQ+O#54-FX/:WHE*0\\4SV:S'7M)
MF;JK^P=N *L#)5@?5<C?);QKK:&_RWG_7<Y[6$1KM9A]B8N+Y8?T91& 7V6L
M^0/#5EM#PVR$QQ53W5+(4I5H 7AWI&H/L8?:<#NFWPHD7Z:KH\WK.T-5>U$]
M$I0["JC=KN]R%@EV@F2K)G3?5C&\F=GSH^#9-V:UU]+#<'I$)?7#^:? [,"P
MU9Y'#X/M<<4TL0&NY<JO*>RJQ"9X9[AJ3Z/';(2[%-'09OAE<3%?E=T+;PU9
M[5'T^*WPH4+:V@D+ ;9_U&KOH8_:!YN#[<IA6%Q,-]W%"^V$]T>L]P1ZS&ZX
M1Q]-8/7ZSV_314FH[@U8[X'S&*1V:Z,)H%Y=;@0K -'U4/6>*X\!Y[X&FH#E
M<_27B^EJ&I=GY^=GW^UT=G2B_(%QZSTX'@/80=T\C^O@C]ULZF$"'Q>=/^%U
M\)W/G. Z>/\TBE\'W_[4 XX4N!?>/?Y1ER;;X</MH4OYWH^/WLC5\4'<[MZT
M]-17]<NP77*^[U9;4<O$^_M_I9'P_Y$X']#?Z7?T[0_R?YQ=QO_W?_X_4$L!
M A0#%     @ %'UC6\[0P)^\!P  _R4  !               ( !     &5X
M+3,Q,7$S,C R-2YH=&U02P$"% ,4    "  4?6-;JB@SNLP'   W)P  $
M            @ 'J!P  97@M,S$R<3,R,#(U+FAT;5!+ 0(4 Q0    ( !1]
M8UO4DKURS00  #<<   0              "  >0/  !E>"TS,C!Q,S(P,C4N
M:'1M4$L! A0#%     @ %'UC6UTTZN)F4@$ >?L5 !$              ( !
MWQ0  &9S='(M,C R-3 Y,S N:'1M4$L! A0#%     @ %'UC6S4K=GJ]#P
M5JD  !$              ( !=&<! &9S='(M,C R-3 Y,S N>'-D4$L! A0#
M%     @ %'UC6W4P^,8*'P  ZRL! !4              ( !8'<! &9S='(M
M,C R-3 Y,S!?8V%L+GAM;%!+ 0(4 Q0    ( !1]8UO#,,<)7$D   HY P 5
M              "  9V6 0!F<W1R+3(P,C4P.3,P7V1E9BYX;6Q02P$"% ,4
M    "  4?6-;@Q!)[Y:=  "AG0  %               @ $LX $ 9G-T<BTR
M,#(U,#DS,%]G,2YG:6902P$"% ,4    "  4?6-;HX#%UESN  !R*0D %0
M            @ 'T?0( 9G-T<BTR,#(U,#DS,%]L86(N>&UL4$L! A0#%
M  @ %'UC6[OJS<9+BP  $VT& !4              ( !@VP# &9S='(M,C R
C-3 Y,S!?<')E+GAM;%!+!08     "@ * (8"   !^ ,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>fstr-20250930_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:country="http://xbrl.sec.gov/country/2025"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2025"
  xmlns:fstr="http://www.lbfoster.com/20250930"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2025"
  xmlns:us-gaap="http://fasb.org/us-gaap/2025"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="fstr-20250930.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2025-10-28</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">fstr:CorporateAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fstr:SkratchEnterprisesLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-21</instant>
        </period>
    </context>
    <context id="c-105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fstr:SkratchEnterprisesLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-21</startDate>
            <endDate>2022-06-21</endDate>
        </period>
    </context>
    <context id="c-106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fstr:SkratchEnterprisesLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:AutomationAndMaterialsHandlingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">fstr:AutomationAndMaterialsHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">fstr:August2024RestructuringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">fstr:BridgeGridDeckProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:GlobalFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-10-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:InfrastructureSolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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-198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-26</instant>
        </period>
    </context>
    <context id="c-209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">fstr:SwingLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-213">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">fstr:IncrementalLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fstr:OvernightBankFundingRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fstr:DailySimpleSOFRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-219">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-06-27</startDate>
            <endDate>2025-06-27</endDate>
        </period>
    </context>
    <context id="c-220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FifthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-27</instant>
        </period>
    </context>
    <context id="c-224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankN.A.BankOfAmericaN.A.CitizensBankN.A.AndWellsFargoBankN.A.AsCoSyndicationAgentsAndDollarBankFederalSavingsBankAsParticipantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c-226">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-227">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-230">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fstr:OmnibusPlanAndEquityAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-232">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-234">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-235">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-236">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-237">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-238">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-08-12</instant>
        </period>
    </context>
    <context id="c-239">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">fstr:Swap2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-08-31</instant>
        </period>
    </context>
    <context id="c-240">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-241">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-242">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="c-243">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-244">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-245">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-246">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-247">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-248">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-249">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-250">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-251">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-252">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-253">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-254">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-255">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-256">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-257">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-258">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-259">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="c-260">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-261">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c-262">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-13</startDate>
            <endDate>2019-03-13</endDate>
        </period>
    </context>
    <context id="c-263">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2017-06-05</instant>
        </period>
    </context>
    <context id="c-264">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2020-03-26</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="segment">
        <measure>fstr:segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="covenant">
        <measure>fstr:covenant</measure>
    </unit>
    <unit id="plan">
        <measure>fstr:plan</measure>
    </unit>
    <unit id="company">
        <measure>fstr:company</measure>
    </unit>
    <unit id="party">
        <measure>fstr:party</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">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-29">0000352825</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-30">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-179" id="f-750">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <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-09-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">000-10436</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-6">L.B. Foster Company</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-7">PA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-8">25-1324733</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-9">415 Holiday Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="c-1" id="f-10">Suite 100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-11">Pittsburgh</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-12">PA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-13">15220</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-14">412</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-15">928-3400</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-16">Common Stock, par value $0.01</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-17">FSTR</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">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-22">true</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">10393009</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-3" decimals="-3" id="f-31" unitRef="usd">3428000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-32" unitRef="usd">2454000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsNotesAndLoansReceivableNetCurrent contextRef="c-3" decimals="-3" id="f-33" unitRef="usd">64429000</us-gaap:AccountsNotesAndLoansReceivableNetCurrent>
    <us-gaap:AccountsNotesAndLoansReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-34" unitRef="usd">64978000</us-gaap:AccountsNotesAndLoansReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-3" decimals="-3" id="f-35" unitRef="usd">7943000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-4" decimals="-3" id="f-36" unitRef="usd">16720000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:InventoryNet contextRef="c-3" decimals="-3" id="f-37" unitRef="usd">69563000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-38" unitRef="usd">70506000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="c-3" decimals="-3" id="f-39" unitRef="usd">8159000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-40" unitRef="usd">6947000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-3" decimals="-3" id="f-41" unitRef="usd">153522000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-42" unitRef="usd">161605000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-3" decimals="-3" id="f-43" unitRef="usd">76940000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-44" unitRef="usd">75374000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-3" decimals="-3" id="f-45" unitRef="usd">30109000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-46" unitRef="usd">18480000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill contextRef="c-3" decimals="-3" id="f-47" unitRef="usd">32992000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-48" unitRef="usd">31907000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-3" decimals="-3" id="f-49" unitRef="usd">12178000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-50" unitRef="usd">14801000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-3" decimals="-3" id="f-51" unitRef="usd">23982000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-4" decimals="-3" id="f-52" unitRef="usd">28900000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-3" decimals="-3" id="f-53" unitRef="usd">4166000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-54" unitRef="usd">3483000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-3" decimals="-3" id="f-55" unitRef="usd">333889000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-56" unitRef="usd">334550000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-3" decimals="-3" id="f-57" unitRef="usd">37736000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-58" unitRef="usd">50083000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-3" decimals="-3" id="f-59" unitRef="usd">9059000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-60" unitRef="usd">10205000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-3" decimals="-3" id="f-61" unitRef="usd">9158000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-62" unitRef="usd">15393000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent contextRef="c-3" decimals="-3" id="f-63" unitRef="usd">167000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent contextRef="c-4" decimals="-3" id="f-64" unitRef="usd">167000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-3" decimals="-3" id="f-65" unitRef="usd">13414000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-66" unitRef="usd">12448000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-3" decimals="-3" id="f-67" unitRef="usd">69534000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-68" unitRef="usd">88296000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="c-3" decimals="-3" id="f-69" unitRef="usd">58555000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="c-4" decimals="-3" id="f-70" unitRef="usd">46773000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-3" decimals="-3" id="f-71" unitRef="usd">1060000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-4" decimals="-3" id="f-72" unitRef="usd">1150000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-3" decimals="-3" id="f-73" unitRef="usd">25705000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-74" unitRef="usd">14709000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-3" decimals="-3" id="f-75" unitRef="usd">3441000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-76" unitRef="usd">4608000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-77"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-3"
      decimals="INF"
      id="f-78"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-4" decimals="INF" id="f-79" unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-3" decimals="INF" id="f-80" unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c-4" decimals="INF" id="f-81" unitRef="shares">11115779</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-3" decimals="INF" id="f-82" unitRef="shares">11115779</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-3" decimals="INF" id="f-83" unitRef="shares">10247806</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="INF" id="f-84" unitRef="shares">10573432</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c-3" decimals="-3" id="f-85" unitRef="usd">111000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-4" decimals="-3" id="f-86" unitRef="usd">111000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-3" decimals="-3" id="f-87" unitRef="usd">43500000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-4" decimals="-3" id="f-88" unitRef="usd">43550000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-3" decimals="-3" id="f-89" unitRef="usd">172708000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-90" unitRef="usd">167579000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares contextRef="c-3" decimals="INF" id="f-91" unitRef="shares">867973</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares contextRef="c-4" decimals="INF" id="f-92" unitRef="shares">542347</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue contextRef="c-3" decimals="-3" id="f-93" unitRef="usd">20803000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue contextRef="c-4" decimals="-3" id="f-94" unitRef="usd">11208000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-3" decimals="-3" id="f-95" unitRef="usd">-20715000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-96" unitRef="usd">-21716000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity contextRef="c-3" decimals="-3" id="f-97" unitRef="usd">174801000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-98" unitRef="usd">178316000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest contextRef="c-3" decimals="-3" id="f-99" unitRef="usd">793000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest contextRef="c-4" decimals="-3" id="f-100" unitRef="usd">698000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-3" decimals="-3" id="f-101" unitRef="usd">175594000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-4" decimals="-3" id="f-102" unitRef="usd">179014000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-3" decimals="-3" id="f-103" unitRef="usd">333889000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-104" unitRef="usd">334550000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-5" decimals="-3" id="f-105" unitRef="usd">124830000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-6" decimals="-3" id="f-106" unitRef="usd">119322000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-7" decimals="-3" id="f-107" unitRef="usd">340449000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-8" decimals="-3" id="f-108" unitRef="usd">346202000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-9" decimals="-3" id="f-109" unitRef="usd">13456000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-10" decimals="-3" id="f-110" unitRef="usd">18144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-11" decimals="-3" id="f-111" unitRef="usd">39187000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-12" decimals="-3" id="f-112" unitRef="usd">56380000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-13" decimals="-3" id="f-113" unitRef="usd">138286000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-14" decimals="-3" id="f-114" unitRef="usd">137466000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-1" decimals="-3" id="f-115" unitRef="usd">379636000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-15" decimals="-3" id="f-116" unitRef="usd">402582000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfRevenue contextRef="c-5" decimals="-3" id="f-117" unitRef="usd">93915000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-6" decimals="-3" id="f-118" unitRef="usd">89286000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-7" decimals="-3" id="f-119" unitRef="usd">259472000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-8" decimals="-3" id="f-120" unitRef="usd">264543000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-9" decimals="-3" id="f-121" unitRef="usd">13305000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-10" decimals="-3" id="f-122" unitRef="usd">15422000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-11" decimals="-3" id="f-123" unitRef="usd">38047000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-12" decimals="-3" id="f-124" unitRef="usd">48592000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-13" decimals="-3" id="f-125" unitRef="usd">107220000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-14" decimals="-3" id="f-126" unitRef="usd">104708000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-1" decimals="-3" id="f-127" unitRef="usd">297519000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-15" decimals="-3" id="f-128" unitRef="usd">313135000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c-13" decimals="-3" id="f-129" unitRef="usd">31066000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-14" decimals="-3" id="f-130" unitRef="usd">32758000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-131" unitRef="usd">82117000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-15" decimals="-3" id="f-132" unitRef="usd">89447000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-13" decimals="-3" id="f-133" unitRef="usd">22077000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-14" decimals="-3" id="f-134" unitRef="usd">24289000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-135" unitRef="usd">65411000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-15" decimals="-3" id="f-136" unitRef="usd">71977000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-13" decimals="-3" id="f-137" unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-14" decimals="-3" id="f-138" unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-1" decimals="-3" id="f-139" unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-15" decimals="-3" id="f-140" unitRef="usd">3477000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-13" decimals="-3" id="f-141" unitRef="usd">694000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-14" decimals="-3" id="f-142" unitRef="usd">1146000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-3" id="f-143" unitRef="usd">2656000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-15" decimals="-3" id="f-144" unitRef="usd">3486000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingIncomeLoss contextRef="c-13" decimals="-3" id="f-145" unitRef="usd">8295000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-14" decimals="-3" id="f-146" unitRef="usd">7323000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-147" unitRef="usd">14050000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-15" decimals="-3" id="f-148" unitRef="usd">17461000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-13" decimals="-3" id="f-149" unitRef="usd">-1254000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-14" decimals="-3" id="f-150" unitRef="usd">-1358000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-1" decimals="-3" id="f-151" unitRef="usd">-3887000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-15" decimals="-3" id="f-152" unitRef="usd">-3976000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-13" decimals="-3" id="f-153" unitRef="usd">96000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-14" decimals="-3" id="f-154" unitRef="usd">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-155" unitRef="usd">509000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-15" decimals="-3" id="f-156" unitRef="usd">525000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-157" unitRef="usd">7137000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-158" unitRef="usd">6153000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-159" unitRef="usd">10672000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-160" unitRef="usd">14010000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-13" decimals="-3" id="f-161" unitRef="usd">2812000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-14" decimals="-3" id="f-162" unitRef="usd">-29745000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-163" unitRef="usd">5625000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-15" decimals="-3" id="f-164" unitRef="usd">-29110000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss contextRef="c-13" decimals="-3" id="f-165" unitRef="usd">4325000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-14" decimals="-3" id="f-166" unitRef="usd">35898000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-1" decimals="-3" id="f-167" unitRef="usd">5047000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-15" decimals="-3" id="f-168" unitRef="usd">43120000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-169" unitRef="usd">-29000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-170" unitRef="usd">-7000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-171" unitRef="usd">-82000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-172" unitRef="usd">-68000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss contextRef="c-13" decimals="-3" id="f-173" unitRef="usd">4354000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-14" decimals="-3" id="f-174" unitRef="usd">35905000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-175" unitRef="usd">5129000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-15" decimals="-3" id="f-176" unitRef="usd">43188000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-13"
      decimals="2"
      id="f-177"
      unitRef="usdPerShare">0.42</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-14"
      decimals="2"
      id="f-178"
      unitRef="usdPerShare">3.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-179"
      unitRef="usdPerShare">0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-15"
      decimals="2"
      id="f-180"
      unitRef="usdPerShare">4.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-13"
      decimals="2"
      id="f-181"
      unitRef="usdPerShare">0.40</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-14"
      decimals="2"
      id="f-182"
      unitRef="usdPerShare">3.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-183"
      unitRef="usdPerShare">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-15"
      decimals="2"
      id="f-184"
      unitRef="usdPerShare">3.91</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-13" decimals="-3" id="f-185" unitRef="shares">10356000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-14" decimals="-3" id="f-186" unitRef="shares">10718000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-187" unitRef="shares">10444000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-15" decimals="-3" id="f-188" unitRef="shares">10757000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-13" decimals="-3" id="f-189" unitRef="shares">10880000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-14" decimals="-3" id="f-190" unitRef="shares">10992000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-191" unitRef="shares">10923000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-15" decimals="-3" id="f-192" unitRef="shares">11059000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss contextRef="c-13" decimals="-3" id="f-193" unitRef="usd">4325000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-14" decimals="-3" id="f-194" unitRef="usd">35898000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-1" decimals="-3" id="f-195" unitRef="usd">5047000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-15" decimals="-3" id="f-196" unitRef="usd">43120000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-13" decimals="-3" id="f-197" unitRef="usd">-513000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-14" decimals="-3" id="f-198" unitRef="usd">1376000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-199" unitRef="usd">1529000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-15" decimals="-3" id="f-200" unitRef="usd">-590000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax contextRef="c-13" decimals="-3" id="f-201" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax contextRef="c-1" decimals="-3" id="f-202" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax contextRef="c-15" decimals="-3" id="f-203" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax contextRef="c-14" decimals="-3" id="f-204" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-13" decimals="-3" id="f-205" unitRef="usd">-44000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-14" decimals="-3" id="f-206" unitRef="usd">-698000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-1" decimals="-3" id="f-207" unitRef="usd">-351000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-15" decimals="-3" id="f-208" unitRef="usd">-778000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-13" decimals="-3" id="f-209" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-14" decimals="-3" id="f-210" unitRef="usd">5000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-1" decimals="-3" id="f-211" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-15" decimals="-3" id="f-212" unitRef="usd">12000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax contextRef="c-13" decimals="-3" id="f-213" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax contextRef="c-14" decimals="-3" id="f-214" unitRef="usd">24000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax contextRef="c-1" decimals="-3" id="f-215" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax contextRef="c-15" decimals="-3" id="f-216" unitRef="usd">75000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-217" unitRef="usd">3768000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-218" unitRef="usd">36600000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-219" unitRef="usd">6225000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-220" unitRef="usd">41827000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-221" unitRef="usd">-29000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-222" unitRef="usd">-7000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-223" unitRef="usd">-82000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-224" unitRef="usd">-68000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-225" unitRef="usd">23000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-226" unitRef="usd">18000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-227" unitRef="usd">177000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-228" unitRef="usd">-71000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-229" unitRef="usd">-6000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-230" unitRef="usd">11000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-231" unitRef="usd">95000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-232" unitRef="usd">-139000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-13" decimals="-3" id="f-233" unitRef="usd">3774000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-14" decimals="-3" id="f-234" unitRef="usd">36589000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-235" unitRef="usd">6130000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-15" decimals="-3" id="f-236" unitRef="usd">41966000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss contextRef="c-1" decimals="-3" id="f-237" unitRef="usd">5047000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-15" decimals="-3" id="f-238" unitRef="usd">43120000</us-gaap:ProfitLoss>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-239" unitRef="usd">4828000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-15" decimals="-3" id="f-240" unitRef="usd">-30122000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:Depreciation contextRef="c-1" decimals="-3" id="f-241" unitRef="usd">6846000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-15" decimals="-3" id="f-242" unitRef="usd">7076000</us-gaap:Depreciation>
    <us-gaap:AdjustmentForAmortization contextRef="c-1" decimals="-3" id="f-243" unitRef="usd">2656000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-15" decimals="-3" id="f-244" unitRef="usd">3486000</us-gaap:AdjustmentForAmortization>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-245" unitRef="usd">655000</us-gaap:BusinessExitCosts1>
    <us-gaap:BusinessExitCosts1 contextRef="c-15" decimals="-3" id="f-246" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <fstr:EquityLossIncomeAndRemeasurementGain contextRef="c-1" decimals="-3" id="f-247" unitRef="usd">-69000</fstr:EquityLossIncomeAndRemeasurementGain>
    <fstr:EquityLossIncomeAndRemeasurementGain contextRef="c-15" decimals="-3" id="f-248" unitRef="usd">6000</fstr:EquityLossIncomeAndRemeasurementGain>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="c-1" decimals="-3" id="f-249" unitRef="usd">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="c-15" decimals="-3" id="f-250" unitRef="usd">4437000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-251" unitRef="usd">3417000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-15" decimals="-3" id="f-252" unitRef="usd">3135000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables contextRef="c-1" decimals="-3" id="f-253" unitRef="usd">-1333000</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables contextRef="c-15" decimals="-3" id="f-254" unitRef="usd">12976000</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset contextRef="c-1" decimals="-3" id="f-255" unitRef="usd">-9522000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset contextRef="c-15" decimals="-3" id="f-256" unitRef="usd">-9910000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-1" decimals="-3" id="f-257" unitRef="usd">-815000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-15" decimals="-3" id="f-258" unitRef="usd">465000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets contextRef="c-1" decimals="-3" id="f-259" unitRef="usd">1343000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets contextRef="c-15" decimals="-3" id="f-260" unitRef="usd">2020000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets contextRef="c-1" decimals="-3" id="f-261" unitRef="usd">-3640000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets contextRef="c-15" decimals="-3" id="f-262" unitRef="usd">-2517000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-1" decimals="-3" id="f-263" unitRef="usd">-12201000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-15" decimals="-3" id="f-264" unitRef="usd">603000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-1" decimals="-3" id="f-265" unitRef="usd">-1327000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-15" decimals="-3" id="f-266" unitRef="usd">-2861000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c-1" decimals="-3" id="f-267" unitRef="usd">-6327000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c-15" decimals="-3" id="f-268" unitRef="usd">-5747000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <fstr:IncreaseDecreaseInAccruedSettlement contextRef="c-1" decimals="-3" id="f-269" unitRef="usd">0</fstr:IncreaseDecreaseInAccruedSettlement>
    <fstr:IncreaseDecreaseInAccruedSettlement contextRef="c-15" decimals="-3" id="f-270" unitRef="usd">4000000</fstr:IncreaseDecreaseInAccruedSettlement>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-1" decimals="-3" id="f-271" unitRef="usd">510000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-15" decimals="-3" id="f-272" unitRef="usd">-5848000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities contextRef="c-1" decimals="-3" id="f-273" unitRef="usd">-4555000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities contextRef="c-15" decimals="-3" id="f-274" unitRef="usd">-3030000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-275" unitRef="usd">13447000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-15" decimals="-3" id="f-276" unitRef="usd">-1653000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-277" unitRef="usd">53000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-15" decimals="-3" id="f-278" unitRef="usd">3881000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-279" unitRef="usd">8057000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-15" decimals="-3" id="f-280" unitRef="usd">7834000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-281" unitRef="usd">-8004000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-15" decimals="-3" id="f-282" unitRef="usd">-3953000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfOtherLongTermDebt contextRef="c-1" decimals="-3" id="f-283" unitRef="usd">202405000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt contextRef="c-15" decimals="-3" id="f-284" unitRef="usd">166005000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt contextRef="c-1" decimals="-3" id="f-285" unitRef="usd">212368000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt contextRef="c-15" decimals="-3" id="f-286" unitRef="usd">178167000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="c-1" decimals="-3" id="f-287" unitRef="usd">706000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="c-15" decimals="-3" id="f-288" unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-1" decimals="-3" id="f-289" unitRef="usd">13103000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-15" decimals="-3" id="f-290" unitRef="usd">5742000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="c-1" decimals="-3" id="f-291" unitRef="usd">782000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="c-15" decimals="-3" id="f-292" unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-293" unitRef="usd">-4628000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-15" decimals="-3" id="f-294" unitRef="usd">6420000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-1" decimals="-3" id="f-295" unitRef="usd">159000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-15" decimals="-3" id="f-296" unitRef="usd">-239000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-297" unitRef="usd">974000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-15" decimals="-3" id="f-298" unitRef="usd">575000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-299" unitRef="usd">2454000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-16" decimals="-3" id="f-300" unitRef="usd">2560000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-3" decimals="-3" id="f-301" unitRef="usd">3428000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-17" decimals="-3" id="f-302" unitRef="usd">3135000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet contextRef="c-1" decimals="-3" id="f-303" unitRef="usd">3722000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-15" decimals="-3" id="f-304" unitRef="usd">3632000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-1" decimals="-3" id="f-305" unitRef="usd">1163000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-15" decimals="-3" id="f-306" unitRef="usd">1596000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-1" decimals="-3" id="f-307" unitRef="usd">14988000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-15" decimals="-3" id="f-308" unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-18" decimals="-3" id="f-309" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-19" decimals="-3" id="f-310" unitRef="usd">42325000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-20" decimals="-3" id="f-311" unitRef="usd">168354000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-21" decimals="-3" id="f-312" unitRef="usd">-16213000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-22" decimals="-3" id="f-313" unitRef="usd">-20135000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-23" decimals="-3" id="f-314" unitRef="usd">799000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-24" decimals="-3" id="f-315" unitRef="usd">175241000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss contextRef="c-25" decimals="-3" id="f-316" unitRef="usd">4354000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-26" decimals="-3" id="f-317" unitRef="usd">-29000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-13" decimals="-3" id="f-318" unitRef="usd">4325000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-27" decimals="-3" id="f-319" unitRef="usd">-536000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-26" decimals="-3" id="f-320" unitRef="usd">23000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-13" decimals="-3" id="f-321" unitRef="usd">-513000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-27" decimals="-3" id="f-322" unitRef="usd">-44000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-13" decimals="-3" id="f-323" unitRef="usd">-44000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-13" decimals="0" id="f-324" unitRef="shares">184143</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-28" decimals="-3" id="f-325" unitRef="usd">4720000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-13" decimals="-3" id="f-326" unitRef="usd">4720000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c-13" decimals="0" id="f-327" unitRef="shares">1315</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-29" decimals="-3" id="f-328" unitRef="usd">-131000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-28" decimals="-3" id="f-329" unitRef="usd">130000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-13" decimals="-3" id="f-330" unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-29" decimals="-3" id="f-331" unitRef="usd">1306000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-13" decimals="-3" id="f-332" unitRef="usd">1306000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-30" decimals="-3" id="f-333" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-31" decimals="-3" id="f-334" unitRef="usd">43500000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-32" decimals="-3" id="f-335" unitRef="usd">172708000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-33" decimals="-3" id="f-336" unitRef="usd">-20803000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-34" decimals="-3" id="f-337" unitRef="usd">-20715000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-35" decimals="-3" id="f-338" unitRef="usd">793000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-3" decimals="-3" id="f-339" unitRef="usd">175594000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-36" decimals="-3" id="f-340" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-37" decimals="-3" id="f-341" unitRef="usd">42612000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-38" decimals="-3" id="f-342" unitRef="usd">131916000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-39" decimals="-3" id="f-343" unitRef="usd">-6405000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-40" decimals="-3" id="f-344" unitRef="usd">-21156000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-41" decimals="-3" id="f-345" unitRef="usd">574000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-42" decimals="-3" id="f-346" unitRef="usd">147652000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss contextRef="c-43" decimals="-3" id="f-347" unitRef="usd">35905000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-44" decimals="-3" id="f-348" unitRef="usd">-7000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-14" decimals="-3" id="f-349" unitRef="usd">35898000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-45" decimals="-3" id="f-350" unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-14" decimals="-3" id="f-351" unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-45" decimals="-3" id="f-352" unitRef="usd">1358000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-44" decimals="-3" id="f-353" unitRef="usd">18000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-14" decimals="-3" id="f-354" unitRef="usd">1376000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-45" decimals="-3" id="f-355" unitRef="usd">-698000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-14" decimals="-3" id="f-356" unitRef="usd">-698000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-14" decimals="0" id="f-357" unitRef="shares">126688</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-46" decimals="-3" id="f-358" unitRef="usd">2623000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-14" decimals="-3" id="f-359" unitRef="usd">2623000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c-14" decimals="0" id="f-360" unitRef="shares">1206</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-47" decimals="-3" id="f-361" unitRef="usd">-15000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-46" decimals="-3" id="f-362" unitRef="usd">34000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-14" decimals="-3" id="f-363" unitRef="usd">19000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-47" decimals="-3" id="f-364" unitRef="usd">788000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-14" decimals="-3" id="f-365" unitRef="usd">788000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-48" decimals="-3" id="f-366" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-49" decimals="-3" id="f-367" unitRef="usd">43385000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-50" decimals="-3" id="f-368" unitRef="usd">167821000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-51" decimals="-3" id="f-369" unitRef="usd">-8994000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-52" decimals="-3" id="f-370" unitRef="usd">-20472000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-53" decimals="-3" id="f-371" unitRef="usd">585000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-17" decimals="-3" id="f-372" unitRef="usd">182436000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-54" decimals="-3" id="f-373" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-55" decimals="-3" id="f-374" unitRef="usd">43550000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-56" decimals="-3" id="f-375" unitRef="usd">167579000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-57" decimals="-3" id="f-376" unitRef="usd">-11208000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-58" decimals="-3" id="f-377" unitRef="usd">-21716000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-59" decimals="-3" id="f-378" unitRef="usd">698000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-4" decimals="-3" id="f-379" unitRef="usd">179014000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss contextRef="c-60" decimals="-3" id="f-380" unitRef="usd">5129000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-61" decimals="-3" id="f-381" unitRef="usd">-82000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-1" decimals="-3" id="f-382" unitRef="usd">5047000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-62" decimals="-3" id="f-383" unitRef="usd">1352000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-61" decimals="-3" id="f-384" unitRef="usd">177000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-385" unitRef="usd">1529000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-62" decimals="-3" id="f-386" unitRef="usd">-351000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-1" decimals="-3" id="f-387" unitRef="usd">-351000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-1" decimals="0" id="f-388" unitRef="shares">461704</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-63" decimals="-3" id="f-389" unitRef="usd">11159000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-1" decimals="-3" id="f-390" unitRef="usd">11159000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c-1" decimals="0" id="f-391" unitRef="shares">130198</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-64" decimals="-3" id="f-392" unitRef="usd">-3467000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-63" decimals="-3" id="f-393" unitRef="usd">1564000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-1" decimals="-3" id="f-394" unitRef="usd">-1903000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-64" decimals="-3" id="f-395" unitRef="usd">3417000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-396" unitRef="usd">3417000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-30" decimals="-3" id="f-397" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-31" decimals="-3" id="f-398" unitRef="usd">43500000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-32" decimals="-3" id="f-399" unitRef="usd">172708000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-33" decimals="-3" id="f-400" unitRef="usd">-20803000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-34" decimals="-3" id="f-401" unitRef="usd">-20715000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-35" decimals="-3" id="f-402" unitRef="usd">793000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-3" decimals="-3" id="f-403" unitRef="usd">175594000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-65" decimals="-3" id="f-404" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-66" decimals="-3" id="f-405" unitRef="usd">43111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-67" decimals="-3" id="f-406" unitRef="usd">124633000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-68" decimals="-3" id="f-407" unitRef="usd">-6494000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-69" decimals="-3" id="f-408" unitRef="usd">-19250000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-70" decimals="-3" id="f-409" unitRef="usd">724000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-16" decimals="-3" id="f-410" unitRef="usd">142835000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss contextRef="c-71" decimals="-3" id="f-411" unitRef="usd">43188000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-72" decimals="-3" id="f-412" unitRef="usd">-68000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="c-15" decimals="-3" id="f-413" unitRef="usd">43120000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-73" decimals="-3" id="f-414" unitRef="usd">-75000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-15" decimals="-3" id="f-415" unitRef="usd">-75000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-73" decimals="-3" id="f-416" unitRef="usd">-519000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-72" decimals="-3" id="f-417" unitRef="usd">-71000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-15" decimals="-3" id="f-418" unitRef="usd">-590000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-73" decimals="-3" id="f-419" unitRef="usd">-778000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax contextRef="c-15" decimals="-3" id="f-420" unitRef="usd">-778000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-15" decimals="0" id="f-421" unitRef="shares">196768</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-74" decimals="-3" id="f-422" unitRef="usd">4330000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-15" decimals="-3" id="f-423" unitRef="usd">4330000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c-15" decimals="0" id="f-424" unitRef="shares">120387</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-75" decimals="-3" id="f-425" unitRef="usd">-3235000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-74" decimals="-3" id="f-426" unitRef="usd">1830000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="c-15" decimals="-3" id="f-427" unitRef="usd">-1405000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-75" decimals="-3" id="f-428" unitRef="usd">3135000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-15" decimals="-3" id="f-429" unitRef="usd">3135000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance contextRef="c-75" decimals="-3" id="f-430" unitRef="usd">374000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance contextRef="c-15" decimals="-3" id="f-431" unitRef="usd">374000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-48" decimals="-3" id="f-432" unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-49" decimals="-3" id="f-433" unitRef="usd">43385000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-50" decimals="-3" id="f-434" unitRef="usd">167821000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-51" decimals="-3" id="f-435" unitRef="usd">-8994000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-52" decimals="-3" id="f-436" unitRef="usd">-20472000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-53" decimals="-3" id="f-437" unitRef="usd">585000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="c-17" decimals="-3" id="f-438" unitRef="usd">182436000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c-1" id="f-439">Basis of Presentation&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three and nine months ended September 30, 2025 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2025. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2024. In this Quarterly Report on Form&#160;10-Q, references to &#x201c;we,&#x201d; &#x201c;us,&#x201d; &#x201c;our,&#x201d; and the &#x201c;Company&#x201d; refer collectively to L.B. Foster Company and its consolidated subsidiaries. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Recently Issued Accounting Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2023, the FASB issued Accounting Standards Update 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (&#x201c;ASU 2023-09&#x201d;). ASU 2023-09 requires entities to disclose additional information with respect to the effective tax rate reconciliation and disaggregation of income tax expense and income taxes paid by jurisdiction. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company does not expect the adoption of ASU 2023-09 to have an impact to its consolidated financial condition, results of operations, and cash flows other than its disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2024, the FASB issued Accounting Standards Update 2024-03, Income Statement -  Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40) (&#x201c;ASU 2024-03&#x201d;), which requires entities to provide more detailed disaggregation of expenses in the income statement, focusing on the nature of the expenses rather than their function. The new disclosures will require public business entities to disclose in the notes to the financial statements, at each interim and annual reporting period, specific information about certain costs and expenses, including purchases of inventory, employee compensation, depreciation, and intangible asset amortization included in each expense caption presented on the face of the income statement, and the total amount of an entity's selling expenses. The amendments are effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, and may be applied either prospectively or retrospectively. Early adoption is permitted. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2025, the FASB issued Accounting Standards Update 2025-06, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40) (&#x201c;ASU 2025-06&#x201d;), which provides targeted improvements related to the accounting for costs incurred in the development of internal-use software. The amendment replaces the previous stage-based model with clearer guidance on capitalization thresholds and implementation costs. The amendments are effective for annual periods beginning after December 15, 2027, and interim reporting periods within those annual reporting periods. Early adoption is permitted as of the beginning of an annual reporting period. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="c-1" id="f-440">The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three and nine months ended September 30, 2025 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2025. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2024. In this Quarterly Report on Form&#160;10-Q, references to &#x201c;we,&#x201d; &#x201c;us,&#x201d; &#x201c;our,&#x201d; and the &#x201c;Company&#x201d; refer collectively to L.B. Foster Company and its consolidated subsidiaries.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-441">&lt;div style="margin-bottom:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Recently Issued Accounting Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2023, the FASB issued Accounting Standards Update 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (&#x201c;ASU 2023-09&#x201d;). ASU 2023-09 requires entities to disclose additional information with respect to the effective tax rate reconciliation and disaggregation of income tax expense and income taxes paid by jurisdiction. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company does not expect the adoption of ASU 2023-09 to have an impact to its consolidated financial condition, results of operations, and cash flows other than its disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2024, the FASB issued Accounting Standards Update 2024-03, Income Statement -  Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40) (&#x201c;ASU 2024-03&#x201d;), which requires entities to provide more detailed disaggregation of expenses in the income statement, focusing on the nature of the expenses rather than their function. The new disclosures will require public business entities to disclose in the notes to the financial statements, at each interim and annual reporting period, specific information about certain costs and expenses, including purchases of inventory, employee compensation, depreciation, and intangible asset amortization included in each expense caption presented on the face of the income statement, and the total amount of an entity's selling expenses. The amendments are effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, and may be applied either prospectively or retrospectively. Early adoption is permitted. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2025, the FASB issued Accounting Standards Update 2025-06, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40) (&#x201c;ASU 2025-06&#x201d;), which provides targeted improvements related to the accounting for costs incurred in the development of internal-use software. The amendment replaces the previous stage-based model with clearer guidance on capitalization thresholds and implementation costs. The amendments are effective for annual periods beginning after December 15, 2027, and interim reporting periods within those annual reporting periods. Early adoption is permitted as of the beginning of an annual reporting period. The Company is currently evaluating the impact of adopting this guidance on the consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-442">Business Segments &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company determines its operating segments based on how the Company's Chief Operating Decision Maker (&#x201c;CODM&#x201d;), the Company's President and Chief Executive Officer, manages the businesses, including resource allocation and operating decisions. The Company is organized into two operating segments, which represent the individual businesses that are run separately within this operational structure. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are evaluated on their segment operating income contribution to the Company&#x2019;s consolidated results. The Company considers the aggregation of operating segments into reporting segments based on the nature of offerings, nature of production services, the type or class of customer for products and services, methods used to distribute products and services, and economic and regulatory environment conditions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has two reportable segments: Rail, Technologies, and Services (&#x201c;Rail&#x201d;), and Infrastructure Solutions (&#x201c;Infrastructure&#x201d;). The Company&#x2019;s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the CODM, who uses such information to make decisions &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;about resources to be allocated to the segments, and (c) for which discrete financial information is available. The CODM uses segment operating income to determine resources to allocate to each segment (including personnel and financial resources) during the annual budgeting process. The CODM evaluates segment performance regularly by comparing the segment operating income to the budgeted measure.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment operating income includes reportable segment gross profit and direct expenses such as salaries, benefits, restructuring, research and development, professional and purchased services expenditures, amortization expense, bad debt expense, and other segment expenses. Additionally, segment operating income includes allocated corporate operating expenses associated with central services such as quality, logistics, environmental health and safety, information technology, insurance, and human resources. Other corporate functional costs that are associated with the operating segments are also allocated to the segments such as finance, marketing, credit and collections, and treasury functions. Operating expenses related to corporate headquarter functions are allocated to each segment based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. Management believes the allocation of corporate operating expenses provides an accurate presentation of how the segments utilize corporate support activities. This provides the CODM meaningful segment profitability information to support operating decisions and the allocation of resources. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain corporate costs are separately managed on a consolidated basis and are not allocated to the operating segments. These corporate costs include public company costs such as listing fees, audit fees, compliance costs, insurance costs, and Board of Directors fees. Additionally, certain corporate executive management costs, including costs of the corporate executive leadership team, and corporate management stock-based compensation expenses are not allocated to the operating segments. Finally, interest expense, income taxes, and certain other items included in &#x201c;Other income - net&#x201d;, which are managed on a consolidated basis, are not allocated to the operating segments.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of the Company&#x2019;s reportable segments were as follows for the periods presented:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&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:34.177%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.048%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/div&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less:&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;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(60,042)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(47,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(107,220)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(61,027)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(43,681)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(104,708)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling and administrative employment costs&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,086)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,986)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,475)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,030)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,505)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchased services &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,608)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,841)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,584)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,425)&lt;/span&gt;&lt;/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;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General administrative costs &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,765)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,949)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,378)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,261)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,639)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(399)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(694)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(844)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(302)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,146)&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/div&gt;&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,895&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,042&#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="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,933&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,110&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;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 #000;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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;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 #000;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 #000;padding:0 1pt"&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:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Reconciliation of segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total segment operating income&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,254)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,358)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Public company costs&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,162)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,327)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate executive management costs&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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(175)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(839)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate management stock-based compensation&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(672)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other corporate expenses - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(215)&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/div&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,137&#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="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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&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:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.&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:34.177%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.048%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/div&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402,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: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less:&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;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(162,869)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(134,650)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(297,519)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(192,798)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(120,337)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(313,135)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling and administrative employment costs&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,536)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,552)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(40,088)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,083)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,874)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41,957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchased services &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,120)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,239)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,590)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,684)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,274)&lt;/span&gt;&lt;/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;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General administrative costs &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,707)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,052)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,759)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,524)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,649)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,173)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,656)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,508)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(978)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,486)&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/div&gt;&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,786&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,469&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,255&#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="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,212&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,345&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;/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:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Reconciliation of segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total segment operating income&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,557&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gain on sale of former joint venture facility&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,477&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,887)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,976)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;525&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Public company costs&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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,167)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate executive management costs&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,123)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,131)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate management stock-based compensation&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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,818)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other corporate expenses - 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(457)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&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:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the nine months ended September 30, 2024, the Company sold a former joint venture facility located in Magnolia, Texas, generating a $3,477 gain on sale recorded in &#x201c;Gain on sale of former joint venture facility&#x201d; which is included as a component of corporate operating income.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reconciliations of reportable depreciation and amortization and expenditures for long-lived assets to the Company&#x2019;s consolidated totals are as follows for the periods presented: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&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:45.308%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.749%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;793&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;350&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Reportable segments total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,447&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,400&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,019&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,816&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,809&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,486&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,067&#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&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.308%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.749%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,874&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Reportable segments total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,950&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,502&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,057&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,562&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,834&#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&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company's total assets by reportable segment for the following periods:&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:75.288%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;148,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,755&#160;&lt;/span&gt;&lt;/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;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Reportable segments total&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;282,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,936&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333,889&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;334,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 21, 2022, the Company acquired the stock of Skratch Enterprises Ltd. for $7,402, which was inclusive of deferred payments withheld by the Company of $1,228, to be paid over the next five years or utilized to satisfy post-closing working capital adjustments or indemnity claims under the purchase agreement. During the nine months ended September 30, 2025, the Company made a deferred acquisition payment of $782.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&lt;br/&gt;During the nine months ended September 30, 2025, the Company announced the discontinuation of its Automation and Materials Handling product line (&#x201c;AMH Exit&#x201d;) which was reported in the Technology Services and Solutions business unit within the Rail segment. The decision to exit was due to the Company's initiatives to scale back businesses in the United Kingdom. The Company expects to complete any remaining customer obligations by the end of 2025. This product line had net sales of $530 and $907 for the three months ended September 30, 2025 and 2024, respectively, and $1,750 and $4,230 for the nine months ended September 30, 2025 and 2024, respectively. During the nine months ended September 30, 2025, the Company incurred a total of $1,351 in exit costs associated with the AMH Exit, which included $655 in inventory and fixed asset write-downs, $507 in personnel expenses, and $189 in other exit costs. Exit costs of $1,085 were recorded in &#x201c;Cost of goods sold&#x201d; and $266 were recorded in &#x201c;Selling and administrative expenses&#x201d; within our Rail segment. The Company does not expect to incur additional material AMH Exit costs in the remainder of 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2024, the Company announced an enterprise restructuring program aligned with its strategy to reduce costs and enable investment in its growth platforms. The restructuring action was completed as of December&#160;31, 2024 and no additional costs are expected to be incurred under this program. As of December&#160;31, 2024, the Company's restructuring liability for this program was $687, all of which has been paid out as of September&#160;30, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the restructuring liability balance and utilization for restructuring actions, which are primarily related to severance costs through September&#160;30, 2025:&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:87.233%"&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;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.012%"&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Restructuring Liability&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Personnel and other exit costs associated with AMH Exit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,150)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;233&#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;On August 30, 2023, the Company announced the discontinuation of its Bridge Products grid deck product line (&#x201c;Bridge Exit&#x201d;) which was reported in the Steel Products business unit within Infrastructure. The Bedford, PA based operations supporting the product line expect to complete any remaining customer obligations in 2025. For the three months ended September 30, 2025 and 2024, net sales associated with the product line were $94 and $921, respectively, and for the nine months ended September 30, 2025 and 2024 were $1,093 and $2,888, respectively. The Company does not expect to incur additional material exit costs in 2025.</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c-1"
      decimals="INF"
      id="f-443"
      unitRef="segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-444"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="c-1" id="f-445">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of the Company&#x2019;s reportable segments were as follows for the periods presented:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&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:34.177%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.048%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/div&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less:&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;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(60,042)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(47,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(107,220)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(61,027)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(43,681)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(104,708)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling and administrative employment costs&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,086)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,986)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,475)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,030)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,505)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchased services &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,608)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,841)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,584)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,425)&lt;/span&gt;&lt;/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;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General administrative costs &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,765)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,949)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,378)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,261)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,639)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(399)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(694)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(844)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(302)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,146)&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/div&gt;&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,895&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,042&#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="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,933&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,110&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;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 #000;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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;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 #000;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 #000;padding:0 1pt"&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:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Reconciliation of segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total segment operating income&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,254)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,358)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Public company costs&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,162)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,327)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate executive management costs&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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(175)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(839)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate management stock-based compensation&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(672)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other corporate expenses - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(215)&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/div&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,137&#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="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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&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:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.&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:34.177%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.038%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.048%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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: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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/div&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402,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: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less:&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;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(162,869)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(134,650)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(297,519)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(192,798)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(120,337)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(313,135)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling and administrative employment costs&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,536)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,552)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(40,088)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,083)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,874)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41,957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchased services &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,120)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,239)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,590)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,684)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,274)&lt;/span&gt;&lt;/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;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General administrative costs &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,707)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,052)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,759)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,524)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,649)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,173)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,656)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,508)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(978)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,486)&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/div&gt;&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,786&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,469&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,255&#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="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,212&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,345&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;/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:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Reconciliation of segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total segment operating income&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,557&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gain on sale of former joint venture facility&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,477&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense - 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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,887)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,976)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;525&#160;&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Public company costs&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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,167)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate executive management costs&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,123)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,131)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate management stock-based compensation&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="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,818)&lt;/span&gt;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other corporate expenses - 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(457)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&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:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Purchased services costs generally include contractor services, insurance expenditures, rental expense, and legal services.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; General administrative costs generally include office supplies, utilities, advertising, bad debt expense, and restructuring expenditures.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reconciliations of reportable depreciation and amortization and expenditures for long-lived assets to the Company&#x2019;s consolidated totals are as follows for the periods presented: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&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:45.308%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.749%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;793&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;350&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Reportable segments total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,447&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,400&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,019&#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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,816&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,809&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,486&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,067&#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&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.308%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.745%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.352%"&gt;&lt;/td&gt;&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.749%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Depreciation/Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expenditures for Long-Lived Assets&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,874&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Reportable segments total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,950&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,502&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,057&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,562&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,834&#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&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company's total assets by reportable segment for the following periods:&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:75.288%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;148,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,755&#160;&lt;/span&gt;&lt;/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;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Reportable segments total&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;282,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,936&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333,889&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;334,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-76" decimals="-3" id="f-446" unitRef="usd">77788000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-77" decimals="-3" id="f-447" unitRef="usd">60498000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-78" decimals="-3" id="f-448" unitRef="usd">138286000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-79" decimals="-3" id="f-449" unitRef="usd">79498000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-80" decimals="-3" id="f-450" unitRef="usd">57968000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-81" decimals="-3" id="f-451" unitRef="usd">137466000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfRevenue contextRef="c-76" decimals="-3" id="f-452" unitRef="usd">60042000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-77" decimals="-3" id="f-453" unitRef="usd">47178000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-78" decimals="-3" id="f-454" unitRef="usd">107220000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-79" decimals="-3" id="f-455" unitRef="usd">61027000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-80" decimals="-3" id="f-456" unitRef="usd">43681000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-81" decimals="-3" id="f-457" unitRef="usd">104708000</us-gaap:CostOfRevenue>
    <us-gaap:LaborAndRelatedExpense contextRef="c-76" decimals="-3" id="f-458" unitRef="usd">7900000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-77" decimals="-3" id="f-459" unitRef="usd">6086000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-78" decimals="-3" id="f-460" unitRef="usd">13986000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-79" decimals="-3" id="f-461" unitRef="usd">8475000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-80" decimals="-3" id="f-462" unitRef="usd">6030000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-81" decimals="-3" id="f-463" unitRef="usd">14505000</us-gaap:LaborAndRelatedExpense>
    <fstr:PurchasedServicesExpense contextRef="c-76" decimals="-3" id="f-464" unitRef="usd">1787000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-77" decimals="-3" id="f-465" unitRef="usd">1608000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-78" decimals="-3" id="f-466" unitRef="usd">3395000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-79" decimals="-3" id="f-467" unitRef="usd">1841000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-80" decimals="-3" id="f-468" unitRef="usd">1584000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-81" decimals="-3" id="f-469" unitRef="usd">3425000</fstr:PurchasedServicesExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-76" decimals="-3" id="f-470" unitRef="usd">1765000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-77" decimals="-3" id="f-471" unitRef="usd">1184000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-78" decimals="-3" id="f-472" unitRef="usd">2949000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-79" decimals="-3" id="f-473" unitRef="usd">2378000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-80" decimals="-3" id="f-474" unitRef="usd">1261000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-81" decimals="-3" id="f-475" unitRef="usd">3639000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:AdjustmentForAmortization contextRef="c-76" decimals="-3" id="f-476" unitRef="usd">399000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-77" decimals="-3" id="f-477" unitRef="usd">295000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-78" decimals="-3" id="f-478" unitRef="usd">694000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-79" decimals="-3" id="f-479" unitRef="usd">844000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-80" decimals="-3" id="f-480" unitRef="usd">302000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-81" decimals="-3" id="f-481" unitRef="usd">1146000</us-gaap:AdjustmentForAmortization>
    <us-gaap:OperatingIncomeLoss contextRef="c-76" decimals="-3" id="f-482" unitRef="usd">5895000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-77" decimals="-3" id="f-483" unitRef="usd">4147000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-78" decimals="-3" id="f-484" unitRef="usd">10042000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-79" decimals="-3" id="f-485" unitRef="usd">4933000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-80" decimals="-3" id="f-486" unitRef="usd">5110000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-81" decimals="-3" id="f-487" unitRef="usd">10043000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-78" decimals="-3" id="f-488" unitRef="usd">10042000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-81" decimals="-3" id="f-489" unitRef="usd">10043000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-82" decimals="-3" id="f-490" unitRef="usd">-1254000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-83" decimals="-3" id="f-491" unitRef="usd">-1358000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-82" decimals="-3" id="f-492" unitRef="usd">96000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-83" decimals="-3" id="f-493" unitRef="usd">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <fstr:PublicCompanyCosts contextRef="c-82" decimals="-3" id="f-494" unitRef="usd">1162000</fstr:PublicCompanyCosts>
    <fstr:PublicCompanyCosts contextRef="c-83" decimals="-3" id="f-495" unitRef="usd">1327000</fstr:PublicCompanyCosts>
    <fstr:CorporateExecutiveManagementCosts contextRef="c-82" decimals="-3" id="f-496" unitRef="usd">175000</fstr:CorporateExecutiveManagementCosts>
    <fstr:CorporateExecutiveManagementCosts contextRef="c-83" decimals="-3" id="f-497" unitRef="usd">839000</fstr:CorporateExecutiveManagementCosts>
    <fstr:CorporateManagementStockBasedCompensation contextRef="c-82" decimals="-3" id="f-498" unitRef="usd">672000</fstr:CorporateManagementStockBasedCompensation>
    <fstr:CorporateManagementStockBasedCompensation contextRef="c-83" decimals="-3" id="f-499" unitRef="usd">339000</fstr:CorporateManagementStockBasedCompensation>
    <fstr:OtherCorporateCharges contextRef="c-82" decimals="-3" id="f-500" unitRef="usd">-262000</fstr:OtherCorporateCharges>
    <fstr:OtherCorporateCharges contextRef="c-83" decimals="-3" id="f-501" unitRef="usd">215000</fstr:OtherCorporateCharges>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-502" unitRef="usd">7137000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-503" unitRef="usd">6153000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-84" decimals="-3" id="f-504" unitRef="usd">207776000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-85" decimals="-3" id="f-505" unitRef="usd">171860000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-86" decimals="-3" id="f-506" unitRef="usd">379636000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-87" decimals="-3" id="f-507" unitRef="usd">247715000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-88" decimals="-3" id="f-508" unitRef="usd">154867000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-89" decimals="-3" id="f-509" unitRef="usd">402582000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfRevenue contextRef="c-84" decimals="-3" id="f-510" unitRef="usd">162869000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-85" decimals="-3" id="f-511" unitRef="usd">134650000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-86" decimals="-3" id="f-512" unitRef="usd">297519000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-87" decimals="-3" id="f-513" unitRef="usd">192798000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-88" decimals="-3" id="f-514" unitRef="usd">120337000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-89" decimals="-3" id="f-515" unitRef="usd">313135000</us-gaap:CostOfRevenue>
    <us-gaap:LaborAndRelatedExpense contextRef="c-84" decimals="-3" id="f-516" unitRef="usd">22536000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-85" decimals="-3" id="f-517" unitRef="usd">17552000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-86" decimals="-3" id="f-518" unitRef="usd">40088000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-87" decimals="-3" id="f-519" unitRef="usd">24083000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-88" decimals="-3" id="f-520" unitRef="usd">17874000</us-gaap:LaborAndRelatedExpense>
    <us-gaap:LaborAndRelatedExpense contextRef="c-89" decimals="-3" id="f-521" unitRef="usd">41957000</us-gaap:LaborAndRelatedExpense>
    <fstr:PurchasedServicesExpense contextRef="c-84" decimals="-3" id="f-522" unitRef="usd">5120000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-85" decimals="-3" id="f-523" unitRef="usd">4239000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-86" decimals="-3" id="f-524" unitRef="usd">9359000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-87" decimals="-3" id="f-525" unitRef="usd">5590000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-88" decimals="-3" id="f-526" unitRef="usd">4684000</fstr:PurchasedServicesExpense>
    <fstr:PurchasedServicesExpense contextRef="c-89" decimals="-3" id="f-527" unitRef="usd">10274000</fstr:PurchasedServicesExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-84" decimals="-3" id="f-528" unitRef="usd">5707000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-85" decimals="-3" id="f-529" unitRef="usd">4052000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-86" decimals="-3" id="f-530" unitRef="usd">9759000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-87" decimals="-3" id="f-531" unitRef="usd">5524000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-88" decimals="-3" id="f-532" unitRef="usd">3649000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-89" decimals="-3" id="f-533" unitRef="usd">9173000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:AdjustmentForAmortization contextRef="c-84" decimals="-3" id="f-534" unitRef="usd">1758000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-85" decimals="-3" id="f-535" unitRef="usd">898000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-86" decimals="-3" id="f-536" unitRef="usd">2656000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-87" decimals="-3" id="f-537" unitRef="usd">2508000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-88" decimals="-3" id="f-538" unitRef="usd">978000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization contextRef="c-89" decimals="-3" id="f-539" unitRef="usd">3486000</us-gaap:AdjustmentForAmortization>
    <us-gaap:OperatingIncomeLoss contextRef="c-84" decimals="-3" id="f-540" unitRef="usd">9786000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-85" decimals="-3" id="f-541" unitRef="usd">10469000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-86" decimals="-3" id="f-542" unitRef="usd">20255000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-87" decimals="-3" id="f-543" unitRef="usd">17212000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-88" decimals="-3" id="f-544" unitRef="usd">7345000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-89" decimals="-3" id="f-545" unitRef="usd">24557000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-86" decimals="-3" id="f-546" unitRef="usd">20255000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-89" decimals="-3" id="f-547" unitRef="usd">24557000</us-gaap:OperatingIncomeLoss>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-90" decimals="-3" id="f-548" unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-91" decimals="-3" id="f-549" unitRef="usd">3477000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-90" decimals="-3" id="f-550" unitRef="usd">-3887000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet contextRef="c-91" decimals="-3" id="f-551" unitRef="usd">-3976000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-90" decimals="-3" id="f-552" unitRef="usd">509000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-91" decimals="-3" id="f-553" unitRef="usd">525000</us-gaap:OtherNonoperatingIncomeExpense>
    <fstr:PublicCompanyCosts contextRef="c-90" decimals="-3" id="f-554" unitRef="usd">3633000</fstr:PublicCompanyCosts>
    <fstr:PublicCompanyCosts contextRef="c-91" decimals="-3" id="f-555" unitRef="usd">4167000</fstr:PublicCompanyCosts>
    <fstr:CorporateExecutiveManagementCosts contextRef="c-90" decimals="-3" id="f-556" unitRef="usd">1123000</fstr:CorporateExecutiveManagementCosts>
    <fstr:CorporateExecutiveManagementCosts contextRef="c-91" decimals="-3" id="f-557" unitRef="usd">4131000</fstr:CorporateExecutiveManagementCosts>
    <fstr:CorporateManagementStockBasedCompensation contextRef="c-90" decimals="-3" id="f-558" unitRef="usd">1711000</fstr:CorporateManagementStockBasedCompensation>
    <fstr:CorporateManagementStockBasedCompensation contextRef="c-91" decimals="-3" id="f-559" unitRef="usd">1818000</fstr:CorporateManagementStockBasedCompensation>
    <fstr:OtherCorporateCharges contextRef="c-90" decimals="-3" id="f-560" unitRef="usd">-262000</fstr:OtherCorporateCharges>
    <fstr:OtherCorporateCharges contextRef="c-91" decimals="-3" id="f-561" unitRef="usd">457000</fstr:OtherCorporateCharges>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-562" unitRef="usd">10672000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-563" unitRef="usd">14010000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-91" decimals="-3" id="f-564" unitRef="usd">3477000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-76" decimals="-3" id="f-565" unitRef="usd">793000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-76" decimals="-3" id="f-566" unitRef="usd">350000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-79" decimals="-3" id="f-567" unitRef="usd">1202000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-79" decimals="-3" id="f-568" unitRef="usd">1147000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-77" decimals="-3" id="f-569" unitRef="usd">1654000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-77" decimals="-3" id="f-570" unitRef="usd">2050000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-80" decimals="-3" id="f-571" unitRef="usd">1817000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-80" decimals="-3" id="f-572" unitRef="usd">1669000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-78" decimals="-3" id="f-573" unitRef="usd">2447000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-78" decimals="-3" id="f-574" unitRef="usd">2400000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-81" decimals="-3" id="f-575" unitRef="usd">3019000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-81" decimals="-3" id="f-576" unitRef="usd">2816000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-92" decimals="-3" id="f-577" unitRef="usd">521000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-92" decimals="-3" id="f-578" unitRef="usd">409000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-93" decimals="-3" id="f-579" unitRef="usd">467000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-93" decimals="-3" id="f-580" unitRef="usd">251000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-13" decimals="-3" id="f-581" unitRef="usd">2968000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-13" decimals="-3" id="f-582" unitRef="usd">2809000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-14" decimals="-3" id="f-583" unitRef="usd">3486000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-14" decimals="-3" id="f-584" unitRef="usd">3067000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-84" decimals="-3" id="f-585" unitRef="usd">2874000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-84" decimals="-3" id="f-586" unitRef="usd">1405000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-87" decimals="-3" id="f-587" unitRef="usd">3578000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-87" decimals="-3" id="f-588" unitRef="usd">1765000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-85" decimals="-3" id="f-589" unitRef="usd">5098000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-85" decimals="-3" id="f-590" unitRef="usd">5545000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-88" decimals="-3" id="f-591" unitRef="usd">5594000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-88" decimals="-3" id="f-592" unitRef="usd">5100000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-86" decimals="-3" id="f-593" unitRef="usd">7972000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-86" decimals="-3" id="f-594" unitRef="usd">6950000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-89" decimals="-3" id="f-595" unitRef="usd">9172000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-89" decimals="-3" id="f-596" unitRef="usd">6865000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-94" decimals="-3" id="f-597" unitRef="usd">1530000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-94" decimals="-3" id="f-598" unitRef="usd">1107000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-95" decimals="-3" id="f-599" unitRef="usd">1390000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-95" decimals="-3" id="f-600" unitRef="usd">969000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-601" unitRef="usd">9502000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-1" decimals="-3" id="f-602" unitRef="usd">8057000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-15" decimals="-3" id="f-603" unitRef="usd">10562000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c-15" decimals="-3" id="f-604" unitRef="usd">7834000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:Assets contextRef="c-96" decimals="-3" id="f-605" unitRef="usd">148746000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-97" decimals="-3" id="f-606" unitRef="usd">158859000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-98" decimals="-3" id="f-607" unitRef="usd">130964000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-99" decimals="-3" id="f-608" unitRef="usd">123755000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-100" decimals="-3" id="f-609" unitRef="usd">279710000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-101" decimals="-3" id="f-610" unitRef="usd">282614000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-102" decimals="-3" id="f-611" unitRef="usd">54179000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-103" decimals="-3" id="f-612" unitRef="usd">51936000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-3" decimals="-3" id="f-613" unitRef="usd">333889000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-614" unitRef="usd">334550000</us-gaap:Assets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="c-104" decimals="-3" id="f-615" unitRef="usd">7402000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent contextRef="c-104" decimals="-3" id="f-616" unitRef="usd">1228000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <fstr:BusinessCombinationPaymentOfDeferredConsiderationTerm contextRef="c-105" id="f-617">P5Y</fstr:BusinessCombinationPaymentOfDeferredConsiderationTerm>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="c-106" decimals="-3" id="f-618" unitRef="usd">782000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-107" decimals="-3" id="f-619" unitRef="usd">530000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-108" decimals="-3" id="f-620" unitRef="usd">907000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-109" decimals="-3" id="f-621" unitRef="usd">1750000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-110" decimals="-3" id="f-622" unitRef="usd">4230000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:BusinessExitCosts1 contextRef="c-111" decimals="-3" id="f-623" unitRef="usd">1351000</us-gaap:BusinessExitCosts1>
    <fstr:InventoryAndFixedAssetWriteDown contextRef="c-111" decimals="-3" id="f-624" unitRef="usd">655000</fstr:InventoryAndFixedAssetWriteDown>
    <fstr:PersonnelExpenses contextRef="c-111" decimals="-3" id="f-625" unitRef="usd">507000</fstr:PersonnelExpenses>
    <fstr:OtherExitCosts contextRef="c-111" decimals="-3" id="f-626" unitRef="usd">189000</fstr:OtherExitCosts>
    <us-gaap:BusinessExitCosts1 contextRef="c-112" decimals="-3" id="f-627" unitRef="usd">1085000</us-gaap:BusinessExitCosts1>
    <us-gaap:BusinessExitCosts1 contextRef="c-113" decimals="-3" id="f-628" unitRef="usd">266000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringReserve contextRef="c-114" decimals="-3" id="f-629" unitRef="usd">687000</us-gaap:RestructuringReserve>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock contextRef="c-1" id="f-630">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the restructuring liability balance and utilization for restructuring actions, which are primarily related to severance costs through September&#160;30, 2025:&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:87.233%"&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;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.012%"&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Restructuring Liability&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Personnel and other exit costs associated with AMH Exit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,150)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;233&#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:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve contextRef="c-4" decimals="-3" id="f-631" unitRef="usd">687000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-632" unitRef="usd">696000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring contextRef="c-1" decimals="-3" id="f-633" unitRef="usd">1150000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve contextRef="c-3" decimals="-3" id="f-634" unitRef="usd">233000</us-gaap:RestructuringReserve>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-115" decimals="-3" id="f-635" unitRef="usd">94000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-116" decimals="-3" id="f-636" unitRef="usd">921000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-117" decimals="-3" id="f-637" unitRef="usd">1093000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-118" decimals="-3" id="f-638" unitRef="usd">2888000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-639">Revenue&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company&#x2019;s sales by major product and service line for the periods presented:&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:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Global Friction Management&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology Services and Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,788&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,498&#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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,776&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,466&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379,636&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402,582&#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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of the Company&#x2019;s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales by the timing of the transfer of goods and services was as follows for the periods presented:&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:58.066%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.820%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended September 30, 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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,513&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended September 30, 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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,498&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,466&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&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:58.205%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.820%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended September 30, 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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,953&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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:58.205%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.681%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended September 30, 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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;198,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;296,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402,582&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company&#x2019;s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts the Company&#x2019;s performance to date under the terms of the contract. Revenue under these long-term agreements may also be recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract.  As a result of management's reviews of contract-related estimates the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. During the three months ended September 30, 2025, reductions to net sales stemming from changes in actual and expected values of certain commercial contracts and settlements of such contracts were $1,476; there were no changes in actual or expected values during the three months ended September 30, 2024. During the nine months ended September 30, 2025 and 2024, such adjustments to net sales were $3,123 and $1,477, respectively. The Company&#x2019;s estimates related to these long-term agreements are further described in &#x201c;Note 3. Revenue&#x201d; of the Notes to the Company&#x2019;s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December&#160;31, 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue recognized over time was as follows for the periods presented:&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:45.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.821%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;br/&gt;Three Months Ended September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time input method&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time output method&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total over time sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,513&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.139%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.496%"&gt;&lt;/td&gt;&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.852%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.357%"&gt;&lt;/td&gt;&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.852%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.357%"&gt;&lt;/td&gt;&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.852%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.357%"&gt;&lt;/td&gt;&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.438%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended  September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&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;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time input method&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,795&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time output method&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total over time sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,953&#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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in &#x201c;Contract assets - net&#x201d;), and billings in excess of costs (contract liabilities), included in &#x201c;Deferred revenue&#x201d; within the Condensed Consolidated Balance Sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s contract assets:&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:84.872%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.234%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Assets&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,720&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized but not yet billed &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,831&#160;&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustments to contract assets &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,123)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Transfers from contract asset balance to accounts receivable &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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,485)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,943&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s contract liabilities:&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:84.872%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.234%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Liabilities&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,991&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized from contract liabilities&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,419)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase in billings in excess of cost, excluding revenue recognized &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;937&#160;&lt;/span&gt;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September&#160;30, 2025&lt;/span&gt;&lt;/div&gt;&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,509&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of September&#160;30, 2025, the Company had approximately $247,416 of remaining performance obligations, which is also referred to as backlog. Approximately 8.0% of the September&#160;30, 2025 backlog was related to projects that are anticipated to extend beyond September&#160;30, 2026.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock contextRef="c-1" id="f-640">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company&#x2019;s sales by major product and service line for the periods presented:&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:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Global Friction Management&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology Services and Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,788&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,498&#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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,776&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,466&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379,636&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402,582&#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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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;</fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-119" decimals="-3" id="f-641" unitRef="usd">44628000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-120" decimals="-3" id="f-642" unitRef="usd">47442000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-121" decimals="-3" id="f-643" unitRef="usd">121517000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-122" decimals="-3" id="f-644" unitRef="usd">156803000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-123" decimals="-3" id="f-645" unitRef="usd">21313000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-124" decimals="-3" id="f-646" unitRef="usd">19548000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-125" decimals="-3" id="f-647" unitRef="usd">57307000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-126" decimals="-3" id="f-648" unitRef="usd">51008000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-127" decimals="-3" id="f-649" unitRef="usd">11847000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-128" decimals="-3" id="f-650" unitRef="usd">12508000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-129" decimals="-3" id="f-651" unitRef="usd">28952000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-130" decimals="-3" id="f-652" unitRef="usd">39904000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-131" decimals="-3" id="f-653" unitRef="usd">77788000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-132" decimals="-3" id="f-654" unitRef="usd">79498000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-133" decimals="-3" id="f-655" unitRef="usd">207776000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-134" decimals="-3" id="f-656" unitRef="usd">247715000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-135" decimals="-3" id="f-657" unitRef="usd">43272000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-136" decimals="-3" id="f-658" unitRef="usd">42688000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-137" decimals="-3" id="f-659" unitRef="usd">117650000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-138" decimals="-3" id="f-660" unitRef="usd">97730000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-139" decimals="-3" id="f-661" unitRef="usd">17226000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-140" decimals="-3" id="f-662" unitRef="usd">15280000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-141" decimals="-3" id="f-663" unitRef="usd">54210000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-142" decimals="-3" id="f-664" unitRef="usd">57137000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-143" decimals="-3" id="f-665" unitRef="usd">60498000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-144" decimals="-3" id="f-666" unitRef="usd">57968000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-145" decimals="-3" id="f-667" unitRef="usd">171860000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-146" decimals="-3" id="f-668" unitRef="usd">154867000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-13" decimals="-3" id="f-669" unitRef="usd">138286000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-14" decimals="-3" id="f-670" unitRef="usd">137466000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-1" decimals="-3" id="f-671" unitRef="usd">379636000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-15" decimals="-3" id="f-672" unitRef="usd">402582000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="c-1" id="f-673">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales by the timing of the transfer of goods and services was as follows for the periods presented:&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:58.066%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.820%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended September 30, 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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,513&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended September 30, 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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,498&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,466&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&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:58.205%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.820%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended September 30, 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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,953&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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:58.205%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.681%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended September 30, 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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;198,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;296,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402,582&#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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue recognized over time was as follows for the periods presented:&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:45.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.821%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;br/&gt;Three Months Ended September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time input method&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time output method&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total over time sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,513&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.139%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.496%"&gt;&lt;/td&gt;&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.852%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.357%"&gt;&lt;/td&gt;&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.852%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.357%"&gt;&lt;/td&gt;&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.852%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.357%"&gt;&lt;/td&gt;&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.438%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended  September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&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;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time input method&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,795&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time output method&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total over time sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,953&#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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-147" decimals="-3" id="f-674" unitRef="usd">65152000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-148" decimals="-3" id="f-675" unitRef="usd">39621000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-149" decimals="-3" id="f-676" unitRef="usd">104773000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-150" decimals="-3" id="f-677" unitRef="usd">12636000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-151" decimals="-3" id="f-678" unitRef="usd">20877000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-152" decimals="-3" id="f-679" unitRef="usd">33513000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-131" decimals="-3" id="f-680" unitRef="usd">77788000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-143" decimals="-3" id="f-681" unitRef="usd">60498000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-13" decimals="-3" id="f-682" unitRef="usd">138286000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-153" decimals="-3" id="f-683" unitRef="usd">62717000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-154" decimals="-3" id="f-684" unitRef="usd">33462000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-155" decimals="-3" id="f-685" unitRef="usd">96179000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-156" decimals="-3" id="f-686" unitRef="usd">16781000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-157" decimals="-3" id="f-687" unitRef="usd">24506000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-158" decimals="-3" id="f-688" unitRef="usd">41287000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-132" decimals="-3" id="f-689" unitRef="usd">79498000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-144" decimals="-3" id="f-690" unitRef="usd">57968000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-14" decimals="-3" id="f-691" unitRef="usd">137466000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-159" decimals="-3" id="f-692" unitRef="usd">176250000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-160" decimals="-3" id="f-693" unitRef="usd">109433000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-161" decimals="-3" id="f-694" unitRef="usd">285683000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-162" decimals="-3" id="f-695" unitRef="usd">31526000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-163" decimals="-3" id="f-696" unitRef="usd">62427000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-164" decimals="-3" id="f-697" unitRef="usd">93953000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-133" decimals="-3" id="f-698" unitRef="usd">207776000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-145" decimals="-3" id="f-699" unitRef="usd">171860000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-1" decimals="-3" id="f-700" unitRef="usd">379636000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-165" decimals="-3" id="f-701" unitRef="usd">198179000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-166" decimals="-3" id="f-702" unitRef="usd">98246000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-167" decimals="-3" id="f-703" unitRef="usd">296425000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-168" decimals="-3" id="f-704" unitRef="usd">49536000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-169" decimals="-3" id="f-705" unitRef="usd">56621000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-170" decimals="-3" id="f-706" unitRef="usd">106157000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-134" decimals="-3" id="f-707" unitRef="usd">247715000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-146" decimals="-3" id="f-708" unitRef="usd">154867000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-15" decimals="-3" id="f-709" unitRef="usd">402582000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="c-13" decimals="-3" id="f-710" unitRef="usd">-1476000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="c-14" decimals="-3" id="f-711" unitRef="usd">0</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="c-1" decimals="-3" id="f-712" unitRef="usd">-3123000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="c-15" decimals="-3" id="f-713" unitRef="usd">-1477000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
    <fstr:OverTimeSalesAmount contextRef="c-171" decimals="-3" id="f-714" unitRef="usd">6168000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount contextRef="c-172" decimals="-3" id="f-715" unitRef="usd">15020000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent contextRef="c-171" decimals="3" id="f-716" unitRef="number">0.045</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent contextRef="c-172" decimals="3" id="f-717" unitRef="number">0.109</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount contextRef="c-173" decimals="-3" id="f-718" unitRef="usd">27345000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount contextRef="c-174" decimals="-3" id="f-719" unitRef="usd">26267000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent contextRef="c-173" decimals="3" id="f-720" unitRef="number">0.198</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent contextRef="c-174" decimals="3" id="f-721" unitRef="number">0.191</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount contextRef="c-13" decimals="-3" id="f-722" unitRef="usd">33513000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount contextRef="c-14" decimals="-3" id="f-723" unitRef="usd">41287000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent contextRef="c-13" decimals="3" id="f-724" unitRef="number">0.243</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent contextRef="c-14" decimals="3" id="f-725" unitRef="number">0.300</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount contextRef="c-175" decimals="-3" id="f-726" unitRef="usd">20795000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount contextRef="c-176" decimals="-3" id="f-727" unitRef="usd">42259000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent contextRef="c-175" decimals="3" id="f-728" unitRef="number">0.055</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent contextRef="c-176" decimals="3" id="f-729" unitRef="number">0.105</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount contextRef="c-177" decimals="-3" id="f-730" unitRef="usd">73158000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount contextRef="c-178" decimals="-3" id="f-731" unitRef="usd">63898000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent contextRef="c-177" decimals="3" id="f-732" unitRef="number">0.193</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent contextRef="c-178" decimals="3" id="f-733" unitRef="number">0.159</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount contextRef="c-1" decimals="-3" id="f-734" unitRef="usd">93953000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount contextRef="c-15" decimals="-3" id="f-735" unitRef="usd">106157000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent contextRef="c-1" decimals="3" id="f-736" unitRef="number">0.248</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent contextRef="c-15" decimals="3" id="f-737" unitRef="number">0.264</fstr:OverTimeSalesPercent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="c-1" id="f-738">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s contract assets:&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:84.872%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.234%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Assets&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,720&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized but not yet billed &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,831&#160;&lt;/span&gt;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustments to contract assets &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,123)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Transfers from contract asset balance to accounts receivable &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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,485)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,943&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s contract liabilities:&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:84.872%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.234%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Liabilities&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,991&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized from contract liabilities&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,419)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase in billings in excess of cost, excluding revenue recognized &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;937&#160;&lt;/span&gt;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September&#160;30, 2025&lt;/span&gt;&lt;/div&gt;&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,509&#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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-4" decimals="-3" id="f-739" unitRef="usd">16720000</us-gaap:ContractWithCustomerAssetNet>
    <fstr:ContractWithCustomerAssetRevenueRecognizedButNotYetBilled contextRef="c-1" decimals="-3" id="f-740" unitRef="usd">2831000</fstr:ContractWithCustomerAssetRevenueRecognizedButNotYetBilled>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="c-1" decimals="-3" id="f-741" unitRef="usd">-3123000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="c-1" decimals="-3" id="f-742" unitRef="usd">8485000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-3" decimals="-3" id="f-743" unitRef="usd">7943000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability contextRef="c-4" decimals="-3" id="f-744" unitRef="usd">1991000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-1" decimals="-3" id="f-745" unitRef="usd">1419000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts contextRef="c-1" decimals="-3" id="f-746" unitRef="usd">937000</fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts>
    <us-gaap:ContractWithCustomerLiability contextRef="c-3" decimals="-3" id="f-747" unitRef="usd">1509000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-3" decimals="-3" id="f-748" unitRef="usd">247416000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage contextRef="c-179" decimals="3" id="f-749" unitRef="number">0.08</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-751">Goodwill and Other Intangible Assets&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in goodwill balance by reportable segment for the period presented:&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:58.483%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.820%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation impact&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&gt;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,316&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which includes the impacts of current economic conditions, including but not limited to concerns related to inflation, tariffs, labor markets, supply chains, and changes in trade policy. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of September&#160;30, 2025. However, future impairment charges could result if future projections diverge unfavorably from current expectations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the components of the Company&#x2019;s intangible assets for the periods presented:&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:45.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.821%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30, 2025&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(207)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,951)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,033)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(173)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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="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 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,224&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58,046)&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,178&#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="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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.821%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(198)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,048&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,219)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,755&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28,923)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,693&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(132)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(54,430)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="c-1" id="f-752">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in goodwill balance by reportable segment for the period presented:&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:58.483%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.820%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Infrastructure Solutions&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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation impact&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&gt;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,316&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill contextRef="c-180" decimals="-3" id="f-753" unitRef="usd">20231000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-181" decimals="-3" id="f-754" unitRef="usd">11676000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-755" unitRef="usd">31907000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-133" decimals="-3" id="f-756" unitRef="usd">1085000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-145" decimals="-3" id="f-757" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-1" decimals="-3" id="f-758" unitRef="usd">1085000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-182" decimals="-3" id="f-759" unitRef="usd">21316000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-183" decimals="-3" id="f-760" unitRef="usd">11676000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-3" decimals="-3" id="f-761" unitRef="usd">32992000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="c-1" id="f-762">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the components of the Company&#x2019;s intangible assets for the periods presented:&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:45.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.821%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30, 2025&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(207)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,951)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,033)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(173)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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="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 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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,224&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58,046)&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,178&#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="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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.821%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(198)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,048&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,219)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,755&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28,923)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,693&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(132)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(54,430)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-184" id="f-763">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-185" decimals="-3" id="f-764" unitRef="usd">319000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-185" decimals="-3" id="f-765" unitRef="usd">207000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-185" decimals="-3" id="f-766" unitRef="usd">112000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-186" id="f-767">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-187" decimals="-3" id="f-768" unitRef="usd">28721000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-187" decimals="-3" id="f-769" unitRef="usd">21951000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-187" decimals="-3" id="f-770" unitRef="usd">6770000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-188" id="f-771">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-189" decimals="-3" id="f-772" unitRef="usd">8051000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-189" decimals="-3" id="f-773" unitRef="usd">5682000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-189" decimals="-3" id="f-774" unitRef="usd">2369000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-190" id="f-775">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-191" decimals="-3" id="f-776" unitRef="usd">32806000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-191" decimals="-3" id="f-777" unitRef="usd">30033000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-191" decimals="-3" id="f-778" unitRef="usd">2773000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-192" id="f-779">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-193" decimals="-3" id="f-780" unitRef="usd">327000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-193" decimals="-3" id="f-781" unitRef="usd">173000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-193" decimals="-3" id="f-782" unitRef="usd">154000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-3" decimals="-3" id="f-783" unitRef="usd">70224000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-3" decimals="-3" id="f-784" unitRef="usd">58046000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-3" decimals="-3" id="f-785" unitRef="usd">12178000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-194" id="f-786">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-195" decimals="-3" id="f-787" unitRef="usd">308000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-195" decimals="-3" id="f-788" unitRef="usd">198000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-195" decimals="-3" id="f-789" unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-196" id="f-790">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-197" decimals="-3" id="f-791" unitRef="usd">28006000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-197" decimals="-3" id="f-792" unitRef="usd">19958000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-197" decimals="-3" id="f-793" unitRef="usd">8048000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-198" id="f-794">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-199" decimals="-3" id="f-795" unitRef="usd">7974000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-199" decimals="-3" id="f-796" unitRef="usd">5219000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-199" decimals="-3" id="f-797" unitRef="usd">2755000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-200" id="f-798">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-201" decimals="-3" id="f-799" unitRef="usd">32616000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-201" decimals="-3" id="f-800" unitRef="usd">28923000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-201" decimals="-3" id="f-801" unitRef="usd">3693000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-202" id="f-802">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-203" decimals="-3" id="f-803" unitRef="usd">327000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-203" decimals="-3" id="f-804" unitRef="usd">132000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-203" decimals="-3" id="f-805" unitRef="usd">195000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-4" decimals="-3" id="f-806" unitRef="usd">69231000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-807" unitRef="usd">54430000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-808" unitRef="usd">14801000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="c-1" id="f-809">Accounts Receivable&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in reserves for uncollectible accounts are recorded as part of &#x201c;Selling and administrative expenses&#x201d; in the Condensed Consolidated Statements of Operations and are recorded net of recoveries of previous write-offs. During the three months ended September 30, 2025 and 2024, the Company recorded a net benefit of $74 and $0, respectively, and during the nine months ended September 30, 2025 and 2024 recorded a net expense of $444 and $529, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company established the allowance for credit losses by calculating the amount to reserve based on the age of a given trade receivable and considering historical collection patterns, bad debt expense experience, expected future trends of collections, current and expected market conditions, and any other relevant subjective adjustments as needed. Management maintains high-quality credit review practices and positive customer relationships that mitigate credit risks. The Company&#x2019;s reserves are regularly reviewed and revised as necessary.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s allowance for credit losses:&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:85.427%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current period provision&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;909&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-off against allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(129)&lt;/span&gt;&lt;/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;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries of previous write-offs&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(465)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,442&#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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-204" decimals="-3" id="f-810" unitRef="usd">-74000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-205" decimals="-3" id="f-811" unitRef="usd">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-206" decimals="-3" id="f-812" unitRef="usd">444000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-207" decimals="-3" id="f-813" unitRef="usd">529000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="c-1" id="f-814">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s allowance for credit losses:&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:85.427%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current period provision&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;909&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-off against allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(129)&lt;/span&gt;&lt;/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;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries of previous write-offs&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(465)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of September 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,442&#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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-4" decimals="-3" id="f-815" unitRef="usd">1127000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-816" unitRef="usd">909000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="c-1" decimals="-3" id="f-817" unitRef="usd">129000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries contextRef="c-1" decimals="-3" id="f-818" unitRef="usd">465000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-3" decimals="-3" id="f-819" unitRef="usd">1442000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c-1" id="f-820">Inventory&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventory is valued at average cost or net realizable value, whichever is lower. The Company&#x2019;s components of inventory are summarized in the following table for the periods presented:&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:75.288%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,717&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,551&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories - net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,563&#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 #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c-1" id="f-821">The Company&#x2019;s components of inventory are summarized in the following table for the periods presented:&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:75.288%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,717&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,551&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories - net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,563&#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 #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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-3" decimals="-3" id="f-822" unitRef="usd">35655000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-4" decimals="-3" id="f-823" unitRef="usd">37238000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-3" decimals="-3" id="f-824" unitRef="usd">7547000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-4" decimals="-3" id="f-825" unitRef="usd">6717000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-3" decimals="-3" id="f-826" unitRef="usd">26361000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-4" decimals="-3" id="f-827" unitRef="usd">26551000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryNet contextRef="c-3" decimals="-3" id="f-828" unitRef="usd">69563000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-829" unitRef="usd">70506000</us-gaap:InventoryNet>
    <us-gaap:DebtDisclosureTextBlock contextRef="c-1" id="f-830">Long-Term Debt and Related Matters&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consisted of the following:&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:75.288%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases and financing agreements&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;473&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current maturities&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(167)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,555&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,773&#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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June&#160;27, 2025, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#x201c;Borrowers&#x201d;), entered into the Fifth Amended and Restated Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with PNC Bank, N.A., Bank of America, N.A., Citizens Bank, N.A., and Wells Fargo Bank N.A. as Co-Syndication Agents, and Dollar Bank, Federal Savings Bank as a participant. The Credit Agreement, as amended, modifies the prior amended revolving credit facility, which had a maximum credit line of  $130,000 and extends the maturity date from August 13, 2026 to June&#160;27, 2030. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $150,000 with sublimits for (a) the issuance of Letters of Credit in Dollars and in Alternative Currencies in an amount not to exceed the Dollar Equivalent of $30,000, and (b) borrowings of Swing Loans in Dollars in an amount not to exceed $20,000; and with an incremental loan feature not to exceed $60,000. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s obligations under the Credit Agreement are secured by the grant of a security interest by the Borrowers in substantially all of the assets owned by such entities. Additionally, the equity interests in each of the loan parties, other than the Company, and the equity interests held by each loan party in their subsidiaries, have been pledged to the lenders as collateral for the lending obligations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Credit Agreement will bear interest at rates based upon either the base rate or Term SOFR rate plus applicable margins. Applicable margins are dictated by the ratio of the Company&#x2019;s total net indebtedness to the Company&#x2019;s consolidated EBITDA for four trailing quarters, as defined in the Credit Agreement. The base rate is the highest of (a) the Overnight Bank Funding Rate plus 0.50%, (b) the Prime Rate, or (c) the Daily Simple SOFR rate plus 1.00% so long as the Daily Simple SOFR rate is offered, ascertainable and not unlawful (each as defined in the Credit Agreement). The base rate and Term SOFR rate spreads range from 0.25% to 1.50% and 1.25% to 2.50%, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#x2019;s Consolidated Indebtedness divided by the Company&#x2019;s Consolidated EBITDA, which must not exceed (i) 3.50 to 1.00 for all testing periods other than during an Acquisition Period, and (ii) 4.00 to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company&#x2019;s Consolidated EBITDA divided by the Company&#x2019;s Fixed Charges, which must be more than 1.10 to 1.00. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of September&#160;30, 2025, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $770.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="c-1" id="f-831">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consisted of the following:&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:75.288%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases and financing agreements&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;473&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current maturities&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(167)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,555&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,773&#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:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LineOfCredit contextRef="c-3" decimals="-3" id="f-832" unitRef="usd">58122000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit contextRef="c-4" decimals="-3" id="f-833" unitRef="usd">46467000</us-gaap:LineOfCredit>
    <us-gaap:FinanceLeaseLiability contextRef="c-3" decimals="-3" id="f-834" unitRef="usd">600000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability contextRef="c-4" decimals="-3" id="f-835" unitRef="usd">473000</us-gaap:FinanceLeaseLiability>
    <us-gaap:DebtAndCapitalLeaseObligations contextRef="c-3" decimals="-3" id="f-836" unitRef="usd">58722000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations contextRef="c-4" decimals="-3" id="f-837" unitRef="usd">46940000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent contextRef="c-3" decimals="-3" id="f-838" unitRef="usd">167000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent contextRef="c-4" decimals="-3" id="f-839" unitRef="usd">167000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="c-3" decimals="-3" id="f-840" unitRef="usd">58555000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="c-4" decimals="-3" id="f-841" unitRef="usd">46773000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-208" decimals="INF" id="f-842" unitRef="usd">130000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentTerm contextRef="c-209" id="f-843">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-210" decimals="INF" id="f-844" unitRef="usd">150000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-211" decimals="INF" id="f-845" unitRef="usd">30000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-212" decimals="INF" id="f-846" unitRef="usd">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-213" decimals="INF" id="f-847" unitRef="usd">60000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-214" decimals="4" id="f-848" unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-215" decimals="4" id="f-849" unitRef="number">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-216" decimals="4" id="f-850" unitRef="number">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-217" decimals="4" id="f-851" unitRef="number">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-218" decimals="4" id="f-852" unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-219" decimals="4" id="f-853" unitRef="number">0.025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <fstr:DebtInstrumentNumberOfFinancialCovenants
      contextRef="c-220"
      decimals="INF"
      id="f-854"
      unitRef="covenant">2</fstr:DebtInstrumentNumberOfFinancialCovenants>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum contextRef="c-221" decimals="2" id="f-855" unitRef="number">3.5</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum contextRef="c-222" decimals="2" id="f-856" unitRef="number">4</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum contextRef="c-223" decimals="2" id="f-857" unitRef="number">1.1</fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum>
    <us-gaap:LineOfCredit contextRef="c-224" decimals="-3" id="f-858" unitRef="usd">770000</us-gaap:LineOfCredit>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-859">Earnings Per Common Share&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(Share amounts in thousands)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted earnings per common share for the periods indicated:&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:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted earnings per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income attributable to L.B. Foster Company&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,354&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,905&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,129&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock compensation plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive potential common shares&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;524&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per common share - adjusted weighted average shares outstanding&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,923&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,059&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.91&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c-1" id="f-860">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted earnings per common share for the periods indicated:&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:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted earnings per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income attributable to L.B. Foster Company&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,354&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,905&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,129&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td 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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock compensation plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive potential common shares&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;524&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per common share - adjusted weighted average shares outstanding&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,923&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,059&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.91&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss contextRef="c-13" decimals="-3" id="f-861" unitRef="usd">4354000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-14" decimals="-3" id="f-862" unitRef="usd">35905000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-863" unitRef="usd">5129000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-15" decimals="-3" id="f-864" unitRef="usd">43188000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic contextRef="c-13" decimals="-3" id="f-865" unitRef="shares">10356000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic contextRef="c-14" decimals="-3" id="f-866" unitRef="shares">10718000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic contextRef="c-1" decimals="-3" id="f-867" unitRef="shares">10444000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic contextRef="c-15" decimals="-3" id="f-868" unitRef="shares">10757000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-13" decimals="-3" id="f-869" unitRef="shares">10356000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-14" decimals="-3" id="f-870" unitRef="shares">10718000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-871" unitRef="shares">10444000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-15" decimals="-3" id="f-872" unitRef="shares">10757000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends contextRef="c-13" decimals="-3" id="f-873" unitRef="shares">524000</us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends>
    <us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends contextRef="c-14" decimals="-3" id="f-874" unitRef="shares">274000</us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends>
    <us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends contextRef="c-1" decimals="-3" id="f-875" unitRef="shares">479000</us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends>
    <us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends contextRef="c-15" decimals="-3" id="f-876" unitRef="shares">302000</us-gaap:IncrementalCommonSharesAttributableToNonvestedSharesWithForfeitableDividends>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-13" decimals="-3" id="f-877" unitRef="shares">524000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-14" decimals="-3" id="f-878" unitRef="shares">274000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-1" decimals="-3" id="f-879" unitRef="shares">479000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-15" decimals="-3" id="f-880" unitRef="shares">302000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-13" decimals="-3" id="f-881" unitRef="shares">10880000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-14" decimals="-3" id="f-882" unitRef="shares">10992000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-883" unitRef="shares">10923000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-15" decimals="-3" id="f-884" unitRef="shares">11059000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-13"
      decimals="2"
      id="f-885"
      unitRef="usdPerShare">0.42</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-14"
      decimals="2"
      id="f-886"
      unitRef="usdPerShare">3.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-887"
      unitRef="usdPerShare">0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-15"
      decimals="2"
      id="f-888"
      unitRef="usdPerShare">4.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-13"
      decimals="2"
      id="f-889"
      unitRef="usdPerShare">0.40</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-14"
      decimals="2"
      id="f-890"
      unitRef="usdPerShare">3.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-891"
      unitRef="usdPerShare">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-15"
      decimals="2"
      id="f-892"
      unitRef="usdPerShare">3.91</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-893">Income Taxes&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended September 30, 2025 and 2024, the Company recorded an income tax expense of $2,812 and an income tax benefit of $29,745, respectively, on pre-tax income of $7,137 and $6,153, respectively, for an effective income tax rate of 39.4% and (483.4%), respectively. For the nine months ended September 30, 2025 and 2024, the Company recorded an income tax expense of $5,625 and an income tax benefit of $29,110, respectively, on pre-tax income of $10,672 and $14,010, respectively, for an effective income tax rate of 52.7% and (207.8)%, respectively. The Company's effective income tax rate for the three and nine months ended September 30, 2025 differed from the federal statutory rate of 21% primarily due to the impact of pre-tax losses in the United Kingdom, for which no income tax benefit was recognized due to a valuation allowance. The Company's effective income tax rate for the three and nine months ended September 30, 2024 differed from the federal statutory rate of 21% primarily due to a $30,045 income tax benefit resulting from the change in valuation allowance previously recorded against certain U.S. federal and state deferred taxes. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, also impact the effective income tax rate each quarter.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 4, 2025, the One Big Beautiful Bill Act (&#x201c;OBBBA&#x201d;) was enacted in the United States. The OBBBA includes various tax provisions such as the permanent extension of certain expiring provisions of the Tax Cuts and Jobs Act, modifications to the international tax framework and the restoration of favorable tax treatment for certain business provisions. The impacts of the tax provisions included in the OBBBA are reflected in our results for the quarter ended September&#160;30, 2025, and did not have a material impact on the Company's Condensed Consolidated Financial Statements. The Company will continue to monitor any developments and guidance related to the OBBBA.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-13" decimals="-3" id="f-894" unitRef="usd">2812000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-14" decimals="-3" id="f-895" unitRef="usd">-29745000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-13" decimals="-3" id="f-896" unitRef="usd">7137000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-14" decimals="-3" id="f-897" unitRef="usd">6153000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-13" decimals="3" id="f-898" unitRef="number">0.394</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-14" decimals="3" id="f-899" unitRef="number">-4.834</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-900" unitRef="usd">5625000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-15" decimals="-3" id="f-901" unitRef="usd">-29110000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-902" unitRef="usd">10672000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-15" decimals="-3" id="f-903" unitRef="usd">14010000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-904" unitRef="number">0.527</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-15" decimals="3" id="f-905" unitRef="number">-2.078</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-14" decimals="-3" id="f-906" unitRef="usd">-30045000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-15" decimals="-3" id="f-907" unitRef="usd">-30045000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c-1" id="f-908">Stock-Based Compensation&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded stock-based compensation expense of $1,306 and $788 for the three months ended September 30, 2025 and 2024, respectively, and $3,417 and $3,135 for the nine months ended September 30, 2025 and 2024, respectively, related to restricted stock awards and performance unit awards. As of September&#160;30, 2025, unrecognized compensation expense for awards that the Company expects to vest approximated $6,186. The Company will recognize this unrecognized compensation expense over a weighted average 1.7 years through February 20, 2028.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 22, 2025, the shareholders approved the new 2025 Equity and Incentive Compensation Plan (the &#x201c;Equity and Incentive Compensation Plan&#x201d;). As of September&#160;30, 2025, the Company had stock awards issued pursuant to the Equity and Incentive Compensation Plan and its predecessor, the 2006 Omnibus Incentive Compensation Plan (the &#x201c;Omnibus Plan&#x201d;). No stock options are outstanding under the Omnibus Plan or the Equity and Incentive Compensation Plan and, as such, there was no stock-based compensation expense related to stock options recorded for the three and nine months ended September 30, 2025 and 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Non-Employee Director Restricted Stock Awards and Fully-Vested Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Since May 2018, non-employee directors have been awarded shares of the Company&#x2019;s common stock on each date the non-employee directors were elected at the annual shareholders&#x2019; meeting to serve as directors, subject to a one-year vesting requirement. The Deferred Compensation Plan for Non-Employee Directors under the Omnibus Plan and, by amendment, under the Equity and Incentive Compensation Plan, which permits non-employee directors of the Company to defer receipt of earned cash and/or stock compensation for service on the Board into deferred stock units. Under the terms of the 2025 Equity and Incentive Compensation Plan, a non-employee Board member may elect to receive fully vested stock in lieu of quarterly cash compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock and Performance-Based Stock and Share Units&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the Equity and Incentive Compensation Plan and Omnibus Plan, the Company grants certain employees restricted stock and performance-based stock and share units. The forfeitable restricted stock awards granted generally time-vest ratably over a three-year period, unless indicated otherwise by the underlying restricted stock award agreement. Performance unit awards are offered annually under separate three-year long-term incentive programs, unless indicated otherwise by the underlying performance unit award agreement. Performance units are subject to forfeiture and will be converted into common stock based upon the Company&#x2019;s performance relative to performance measures and conversion multiples as defined in the underlying program.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:&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:63.483%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Restricted&lt;br/&gt;Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Performance-Based Stock&lt;br/&gt;and Share Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;534,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,473&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(111,840)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled and forfeited&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,669)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,524)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.21&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of September 30, 2025&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-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;527,389&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.65&#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:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensation contextRef="c-13" decimals="-3" id="f-909" unitRef="usd">1306000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-14" decimals="-3" id="f-910" unitRef="usd">788000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-911" unitRef="usd">3417000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-15" decimals="-3" id="f-912" unitRef="usd">3135000</us-gaap:ShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-3" decimals="-3" id="f-913" unitRef="usd">6186000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-1" id="f-914">P1Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c-225"
      decimals="INF"
      id="f-915"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c-226"
      decimals="INF"
      id="f-916"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensation contextRef="c-227" decimals="-3" id="f-917" unitRef="usd">0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-228" decimals="-3" id="f-918" unitRef="usd">0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-229" decimals="-3" id="f-919" unitRef="usd">0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-230" decimals="-3" id="f-920" unitRef="usd">0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-231" id="f-921">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-232" id="f-922">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-233" id="f-923">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock contextRef="c-1" id="f-924">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the periods presented:&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:63.483%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.013%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Restricted&lt;br/&gt;Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Performance-Based Stock&lt;br/&gt;and Share Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;534,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,473&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(111,840)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled and forfeited&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,669)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,524)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.21&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of September 30, 2025&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-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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;527,389&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.65&#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:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-234"
      decimals="INF"
      id="f-925"
      unitRef="shares">203552</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-235"
      decimals="INF"
      id="f-926"
      unitRef="shares">534521</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-4"
      decimals="2"
      id="f-927"
      unitRef="usdPerShare">16.31</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-232"
      decimals="INF"
      id="f-928"
      unitRef="shares">118473</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-233"
      decimals="INF"
      id="f-929"
      unitRef="shares">127033</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-1"
      decimals="2"
      id="f-930"
      unitRef="usdPerShare">18.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-232"
      decimals="INF"
      id="f-931"
      unitRef="shares">111840</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-233"
      decimals="INF"
      id="f-932"
      unitRef="shares">88641</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-1"
      decimals="2"
      id="f-933"
      unitRef="usdPerShare">17.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-232"
      decimals="INF"
      id="f-934"
      unitRef="shares">2669</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-233"
      decimals="INF"
      id="f-935"
      unitRef="shares">45524</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-1"
      decimals="2"
      id="f-936"
      unitRef="usdPerShare">13.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-236"
      decimals="INF"
      id="f-937"
      unitRef="shares">207516</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-237"
      decimals="INF"
      id="f-938"
      unitRef="shares">527389</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-3"
      decimals="2"
      id="f-939"
      unitRef="usdPerShare">16.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="c-1" id="f-940">Fair Value Measurements&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines the fair value of assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants. The fair values are based on assumptions that market participants would use when pricing an asset or liability, including assumptions about risk and the risks inherent in valuation techniques and the inputs to valuations. The fair value hierarchy is based on whether the inputs to valuation techniques are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company&#x2019;s own assumptions of what market participants would use. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 1:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Quoted market prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 2:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Observable market-based inputs or unobservable inputs that are corroborated by market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 3:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Unobservable inputs that are not corroborated by market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;SOFR-based interest rate swaps&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt; -&#160;To reduce the impact of interest rate changes on outstanding variable-rate debt, the Company amended and entered into forward-starting SOFR-based interest rate swaps with notional values totaling $20,000 and $20,000 effective August&#160;12, 2022 and August&#160;31, 2022, respectively. The August 12, 2022 interest rate swap expired on March 1, 2025. The August 31, 2022 interest rate swap expires on August 13, 2026. The fair value of the interest rate swaps are based on market-observable forward interest rates and represents the estimated amount that the Company would pay to terminate the agreements. As such, the swap agreements are classified as Level&#160;2 within the fair value hierarchy. As of September&#160;30, 2025 and December&#160;31, 2024, the interest rate swaps were recorded in &#x201c;Other current assets&#x201d; when the interest rate swaps&#x2019; fair market value are in an asset position, and &#x201c;Other accrued liabilities&#x201d; when in a liability position within our Condensed Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&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:20.150%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.622%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.511%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.372%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.483%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.622%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.511%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.372%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.350%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&lt;br/&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate swaps&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:'Times New Roman',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:'Times New Roman',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;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:'Times New Roman',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:'Times New Roman',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;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;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',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:'Times New Roman',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;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',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:'Times New Roman',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;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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The $20,000 interest rate swap agreements that became effective August 2022 are accounted for as cash flow hedges and the objective of the hedges is to offset the expected interest variability on payments associated with the interest rate on our debt. The gains and losses related to the interest rate swaps are reclassified from &#x201c;Accumulated other comprehensive loss&#x201d; in our Condensed Consolidated Balance Sheets and included in &#x201c;Interest expense - net&#x201d; in our Condensed Consolidated Statements of Operations as the interest expense from our debt is recognized.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended September&#160;30, 2025 and 2024, the Company recognized interest income of $56 and $340, respectively, from interest rate swaps. For the nine months ended September 30, 2025 and 2024, the Company recognized interest income of $331 and $1,017 respectively, from interest rate swaps.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DerivativeNotionalAmount contextRef="c-238" decimals="-3" id="f-941" unitRef="usd">20000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-239" decimals="-3" id="f-942" unitRef="usd">20000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock contextRef="c-1" id="f-943">&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:20.150%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.622%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.511%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.372%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.483%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.622%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.511%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.372%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.350%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 30,&lt;br/&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate swaps&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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:'Times New Roman',serif;font-size: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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',serif;font-size: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:'Times New Roman',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;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:'Times New Roman',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:'Times New Roman',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;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:'Times New Roman',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:'Times New Roman',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;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;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',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:'Times New Roman',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;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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#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:'Times New Roman',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:'Times New Roman',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;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;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:DerivativeAssets contextRef="c-3" decimals="-3" id="f-944" unitRef="usd">79000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-240" decimals="-3" id="f-945" unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-241" decimals="-3" id="f-946" unitRef="usd">79000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-242" decimals="-3" id="f-947" unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-4" decimals="-3" id="f-948" unitRef="usd">430000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-243" decimals="-3" id="f-949" unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-244" decimals="-3" id="f-950" unitRef="usd">430000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets contextRef="c-245" decimals="-3" id="f-951" unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-3" decimals="-3" id="f-952" unitRef="usd">79000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-240" decimals="-3" id="f-953" unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-241" decimals="-3" id="f-954" unitRef="usd">79000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-242" decimals="-3" id="f-955" unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-4" decimals="-3" id="f-956" unitRef="usd">430000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-243" decimals="-3" id="f-957" unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-244" decimals="-3" id="f-958" unitRef="usd">430000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-245" decimals="-3" id="f-959" unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:DerivativeNotionalAmount contextRef="c-238" decimals="-3" id="f-960" unitRef="usd">20000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:InvestmentIncomeInterest contextRef="c-246" decimals="-3" id="f-961" unitRef="usd">56000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-247" decimals="-3" id="f-962" unitRef="usd">340000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-248" decimals="-3" id="f-963" unitRef="usd">331000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-249" decimals="-3" id="f-964" unitRef="usd">1017000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="c-1" id="f-965">Retirement Plans&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has two defined contribution retirement plans that cover its hourly and salaried employees in the United States. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#x2019;s contributions to the defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (&#x201c;ERISA&#x201d;) and the Company&#x2019;s policy and investment guidelines applicable to each respective plan. The Company&#x2019;s policy is to contribute at least the minimum in accordance with the funding standards of ERISA. The Company maintains one defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains two defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 23, 2024, the Company's Board of Directors approved the termination of the frozen L.B. Foster Company Merged Retirement Plan (the &#x201c;US DB Plan&#x201d;) and the Portec Rail Products (UK) Limited Pension Scheme (the &#x201c;UK DB Plan&#x201d;). At such time, the Company notified all plan participants of the Company's intentions to terminate and fully settle the obligations. During the fourth quarter of 2024, the Company completed the termination of the US DB Plan.  In January 2025, the Company entered into an insurance  buy-in contract with a third party insurer which resulted in an exchange of plan assets of the UK DB Plan for an annuity that covers our future projected benefit obligations. The Company expects the buy out of the plan and transfer of future benefit obligations of plan participants to be completed in early 2026. The Company does not expect to make any further contributions to the UK DB Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;United Kingdom Defined Benefit Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs were as follows for the periods presented:&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:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(87)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(95)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(257)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(285)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of prior service costs and transition amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24)&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&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:'Times New Roman',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:'Times New Roman',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-bottom: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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Defined Contribution Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company sponsors five defined contribution plans for hourly and salaried employees across its domestic and international facilities. The following table summarizes the expense associated with the contributions made to these plans for the periods presented:&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:51.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canada&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Kingdom&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;877&#160;&lt;/span&gt;&lt;/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:0 1pt"&gt;&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,121&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,041&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,994&#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:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <fstr:NumberOfDefinedContributionPlans contextRef="c-250" decimals="INF" id="f-966" unitRef="plan">2</fstr:NumberOfDefinedContributionPlans>
    <fstr:NumberOfDefinedContributionPlans contextRef="c-251" decimals="INF" id="f-967" unitRef="plan">1</fstr:NumberOfDefinedContributionPlans>
    <fstr:NumberOfDefinedContributionPlans contextRef="c-252" decimals="INF" id="f-968" unitRef="plan">2</fstr:NumberOfDefinedContributionPlans>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock contextRef="c-1" id="f-969">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs were as follows for the periods presented:&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:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan 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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(87)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(95)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(257)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(285)&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of prior service costs and transition amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24)&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&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:'Times New Roman',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:'Times New Roman',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-bottom: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:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-253" decimals="-3" id="f-970" unitRef="usd">65000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-254" decimals="-3" id="f-971" unitRef="usd">57000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-252" decimals="-3" id="f-972" unitRef="usd">192000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-255" decimals="-3" id="f-973" unitRef="usd">171000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-253" decimals="-3" id="f-974" unitRef="usd">87000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-254" decimals="-3" id="f-975" unitRef="usd">95000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-252" decimals="-3" id="f-976" unitRef="usd">257000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-255" decimals="-3" id="f-977" unitRef="usd">285000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-253" decimals="-3" id="f-978" unitRef="usd">7000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-254" decimals="-3" id="f-979" unitRef="usd">6000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-252" decimals="-3" id="f-980" unitRef="usd">19000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-255" decimals="-3" id="f-981" unitRef="usd">18000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-253" decimals="-3" id="f-982" unitRef="usd">-12000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-254" decimals="-3" id="f-983" unitRef="usd">-8000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-252" decimals="-3" id="f-984" unitRef="usd">-33000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-255" decimals="-3" id="f-985" unitRef="usd">-24000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-253" decimals="-3" id="f-986" unitRef="usd">-3000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-254" decimals="-3" id="f-987" unitRef="usd">-24000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-252" decimals="-3" id="f-988" unitRef="usd">-13000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-255" decimals="-3" id="f-989" unitRef="usd">-72000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <fstr:NumberOfDefinedContributionPlans contextRef="c-1" decimals="INF" id="f-990" unitRef="plan">5</fstr:NumberOfDefinedContributionPlans>
    <us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock contextRef="c-1" id="f-991">The following table summarizes the expense associated with the contributions made to these plans for the periods presented:&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:51.816%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.355%"&gt;&lt;/td&gt;&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.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.494%"&gt;&lt;/td&gt;&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.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;September 30,&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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Nine Months Ended&lt;br/&gt;September 30,&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="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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:8pt;font-weight:400;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canada&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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Kingdom&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;877&#160;&lt;/span&gt;&lt;/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:0 1pt"&gt;&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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,121&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,041&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,286&#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:'Times New Roman',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:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,994&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-256" decimals="-3" id="f-992" unitRef="usd">743000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-257" decimals="-3" id="f-993" unitRef="usd">698000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-250" decimals="-3" id="f-994" unitRef="usd">2201000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-258" decimals="-3" id="f-995" unitRef="usd">1968000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-259" decimals="-3" id="f-996" unitRef="usd">37000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-260" decimals="-3" id="f-997" unitRef="usd">39000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-251" decimals="-3" id="f-998" unitRef="usd">140000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-261" decimals="-3" id="f-999" unitRef="usd">149000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-253" decimals="-3" id="f-1000" unitRef="usd">341000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-254" decimals="-3" id="f-1001" unitRef="usd">304000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-252" decimals="-3" id="f-1002" unitRef="usd">945000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-255" decimals="-3" id="f-1003" unitRef="usd">877000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-13" decimals="-3" id="f-1004" unitRef="usd">1121000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-14" decimals="-3" id="f-1005" unitRef="usd">1041000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-1" decimals="-3" id="f-1006" unitRef="usd">3286000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-15" decimals="-3" id="f-1007" unitRef="usd">2994000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c-1" id="f-1008">Commitments and Contingent Liabilities&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Product Liability Claims&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Union Pacific Railroad (&#x201c;UPRR&#x201d;) Concrete Tie Matter&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 13, 2019, the Company and its subsidiary, CXT Incorporated (&#x201c;CXT&#x201d;), entered into a Settlement Agreement (the &#x201c;Settlement Agreement&#x201d;) with UPRR to resolve the then-pending litigation in the matter of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, Case No. CI 15-564, in the District Court for Douglas County, Nebraska. Under the Settlement Agreement, the Company and CXT agreed to pay UPRR the aggregate amount of $50,000 without pre-judgment interest, which began with a $2,000 immediate payment, and with the remaining $48,000 paid in installments over a six-year period commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. As of December&#160;31, 2024 the UPRR Settlement Agreement has been fully paid and UPRR's purchase obligations under this Agreement have been satisfied.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Environmental and Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company&#x2019;s efforts to comply with environmental regulations may have an adverse effect on its future earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (&#x201c;EPA&#x201d;) indicating that the Company may be a potentially responsible party (&#x201c;PRP&#x201d;) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than 140 other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $1.1 billion and $1.7 billion respectively, and the remedial work is expected to take as long as 13 years to complete. Other estimates indicate that these costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost 100 PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994.  On March 26, 2020, the EPA issued a Unilateral Administrative Order to two parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. On December 2, 2024, the Company and many other PRPs received a Special Notice Letter ("SNL") from the EPA regarding a formal initiation of negotiations for the investigation and cleanup of the Portland Harbor Superfund Site and requesting a "good faith offer" from certain PRPs as to remediation and reimbursement of costs within 120 days, which, if accepted, would lead to a formal Consent Decree which may not be entered under the EPA's proposed schedule until fall of 2026 or by March 2027.  The deadline for a response was extended to May 30, 2025, and the Company responded, along with other similarly-situated parties, in a timely manner.  The Company cannot predict the ultimate impact of these proceedings and the SNLs because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company&#x2019;s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of September&#160;30, 2025 and December&#160;31, 2024, the Company maintained reserves of  $1,590 and $1,796, respectively, for all of its environmental liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Other Legal Matters&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management&#x2019;s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company&#x2019;s financial position or liquidity as of September&#160;30, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company&#x2019;s assessment as of September&#160;30, 2025, no such disclosures were considered necessary.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty contextRef="c-262" decimals="-3" id="f-1009" unitRef="usd">50000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent contextRef="c-262" decimals="-3" id="f-1010" unitRef="usd">2000</fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent contextRef="c-262" decimals="-3" id="f-1011" unitRef="usd">48000</fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent>
    <fstr:LitigationSettlementInstallmentPaymentTerm contextRef="c-262" id="f-1012">P6Y</fstr:LitigationSettlementInstallmentPaymentTerm>
    <fstr:NumberOfCompaniesReceivingGeneralNoticeLetter
      contextRef="c-263"
      decimals="-1"
      id="f-1013"
      unitRef="company">140</fstr:NumberOfCompaniesReceivingGeneralNoticeLetter>
    <fstr:PresentValueOfProposedRemedialWork contextRef="c-3" decimals="-8" id="f-1014" unitRef="usd">1100000000</fstr:PresentValueOfProposedRemedialWork>
    <fstr:UndiscoveredRemedialWork contextRef="c-3" decimals="-8" id="f-1015" unitRef="usd">1700000000</fstr:UndiscoveredRemedialWork>
    <fstr:RemedialWorkAnticipatedCleanUpPeriod contextRef="c-1" id="f-1016">P13Y</fstr:RemedialWorkAnticipatedCleanUpPeriod>
    <fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement contextRef="c-3" decimals="-2" id="f-1017" unitRef="party">100</fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement>
    <fstr:NumberOfPartiesRequiredToPerformRemedialWork
      contextRef="c-264"
      decimals="INF"
      id="f-1018"
      unitRef="party">2</fstr:NumberOfPartiesRequiredToPerformRemedialWork>
    <us-gaap:AccrualForEnvironmentalLossContingencies contextRef="c-3" decimals="-3" id="f-1019" unitRef="usd">1590000</us-gaap:AccrualForEnvironmentalLossContingencies>
    <us-gaap:AccrualForEnvironmentalLossContingencies contextRef="c-4" decimals="-3" id="f-1020" unitRef="usd">1796000</us-gaap:AccrualForEnvironmentalLossContingencies>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-13" id="f-1021">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c-13" id="f-1022">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c-13" id="f-1023">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c-13" id="f-1024">false</ecd:Rule10b51ArrTrmntdFlag>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#f-213"
          xlink:label="f-213"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#f-214"
          xlink:label="f-214"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#f-216"
          xlink:label="f-216"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#f-215"
          xlink:label="f-215"
          xlink:type="locator"/>
        <link:footnote id="fn-1" xlink:label="fn-1" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Reclassifications out of &#x201c;Accumulated other comprehensive loss&#x201d; for pension obligations are charged to &#x201c;Selling and administrative expenses&#x201d; within the Condensed Consolidated Statements of Operations.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="f-213"
          xlink:to="fn-1"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="f-214"
          xlink:to="fn-1"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="f-216"
          xlink:to="fn-1"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="f-215"
          xlink:to="fn-1"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
